记录JS 中 forEach,map,filter,set容易混淆的方法

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"};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值