forEach()不会改变原数组,forEach没有返回值,只能遍历数组,旨在处理单个数据,无法使用break, return等终止循
map() 不会改变原始数组,可以返回一个新的数组,旨在整理整体数据,并返回整理后的数据
filter() 不会改变原始数组,方法返回一个新数组,旨在过滤数据,返回的是满足条件的数据
reduce() 对所有数组进行累加,最后返回一个值,不改变原数组
some() 判断是否有元素符合func,如果有一个符合条件,就会终止循环,返回true
every() 返回一个Boolean,判断每一个元素是否都符合func,如果有一个不符合,就会终止循环,返回false
find() 在判断中一旦某个元素符合,立马跳出循环,返回当前符合条件的元素
set() ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set结构不会添加重复的值
var set = new Set();
添加元素 set.add('1')
删除元素 set.delete(item)
查找元素 set.has(item) 返回布尔值
数组去重 var arr = ["1","2","1","2","3","1"];
(1)var arr1 = Array.from(new Set(arr));
//得到一个新的数组:["1","2","3"];
(2)var arr1 = [...new Set(arr)];
//得到一个新的数组:["1","2","3"];
求两个Set的并集,交集,差集:
var arr1 = ["1","2","3"];
var arr2 = ["1","2"];
var set1= new Set(arr1);
var set2= new Set(arr2);
//并集后:
var newSet1 = new Set([...set1,...set2]);
//得到一个新的Set:{"1","2","3"};
//交集后:
var newSet2 = new Set([...set1].filter(x => set2.has(x)));
//得到一个新的Set:{"1", "2"};
//差集后:
var newSet3 = new Set([...set1].filter(x => !set2.has(x)));
//得到一个新的Set:{"3"};