1.newSet()可能有人知道ES6提供了一种新的数据结构Set,但是能够灵活运用的人可能不多。使用Set数据结构,我们可以很容易地对一个数组进行去重,例如:letarr=[1,2,2,3];让set=newSet(arr);让newArr=Array.from(set);//Array.from方法可以将Set结构转换为数组。控制台日志(newArr);//[1,2,3]2。Object.assign()Object.assign()也是ES6中提供的对象的扩展方法,可用于对象的合并复制,如:letobj1={a:1};letobj2={b:2};letobj3=Object.assign({},obj1,obj2);console.log(obj3);//{a:1,b:2}3.map()map方法用于遍历数组,有返回值。它可以对数组的每一项进行操作并生成一个新数组。有时可以代替for和forEach循环来简化代码,如:letarr3=[1,2,3,4,5];letnewArr3=arr3.map((e,i)=>e*10);//将数组的每一项乘以10console.log(newArr3);//[10,20,30,40,50]4.filter()filter方法也是用来遍历数组的。顾名思义,就是对数组进行过滤,在每个元素后触发回调函数,通过判断保留或移除当前项。最后返回一个新的数组,例如:letarr4=[1,2,3,4,5];让newArr4=arr4.filter((e,i)=>e%2===0);//取模,过滤余数不为0的数console.log(newArr4);//[2,4]5.some()some方法用于遍历数组,在每个元素后触发回调函数,只要满足条件就返回true,否则返回false,类似||比较,例如:letarr5=[{result:true},{result:false}];letnewArr5=arr5.some((e,i)=>e.result);//只要一个为真,就是真的console.log(newArr5);//true6.every()every方法用于遍历数组,在每个元素后触发回调函数,只要不满足条件就返回false,否则返回true,类似于&&比较,例如:letarr6=[{结果:真},{result:false}];让newArr6=arr6.every((e,i)=>e.result);//只要一个为false,就是falseconsole.log(newArr6);//错误的
