关于一些es6整理

 // 1. 合并数组/对象
  // 数组(考虑去重)
  let a = [1, 2, 3];
  let b = [4, 5, 6];
  let c = [... new Set([...a, ...b])];
  // 对象
  let obj1 = { a: 1 };
  let obj2 = { b: 2 };
  let obj = { ...obj1, ...obj2 };
  // console.log(c, obj);

  // 2. 模板字符串,在${}中可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。
  let name = '小明';
  let score = 59;
  let result = `${name}${score < 60 ? '考试不及格' : '考试合格'}`;
  // console.log(result);

  // 3. includes 函数(数组和字符串)
  let a3 = [1, 2, 3, 4];
  let type = 1;
  // console.log(a3.includes(type)); // true
  let str = "aabbcc";
  let s = "aa";
  // console.log(str.includes(s)); //true

  // 4. find 函数,find方法中找到符合条件的项,就不会继续遍历数组
  const a4 = [1, 2, 3, 4, 5];
  let type4 = 1;
  const result4 = a4.find(item => { return item === type });
  // console.log(result4); // 1
  type = 9;
  // console.log(result4); // undefined

  // 5. 数组扁平化 flat(num) ; num 扁平化维度; num == Infinity-> 其中使用Infinity作为flat的参数,使得无需知道被扁平化的数组的维度。
  // flat方法不支持IE浏览器。
  const deps = {
    '采购部':[1,2,[3,6,9]],
    '人事部':[5,8,12],
    '行政部':[5,14,79],
    '运输部':[3,64,105],
  }
  let member = Object.values(deps).flat(Infinity);
  // console.log(member);

  // 6. 关于输入框非空的判断
  // if(value !== null && value !== undefined && value !== ''){
  //     //...
  // }
  // 修改为
  // if(value??'' !== ''){
    // ...
  // }

  // 7. 异步函数 async await
  const fn = async () =>{
    const res1 = await fn1();
    const res2 = await fn2();
    console.log(res1);// 1
    console.log(res2);// 2
  }
  // 但是要做并发请求时,还是要用到Promise.all()。
  // 如果并发请求时,只要其中一个异步函数处理完成,就返回结果,要用到Promise.race()。

 

posted @ 2021-10-12 15:43  啦咯  阅读(28)  评论(0编辑  收藏  举报