0
点赞
收藏
分享

微信扫一扫

JS总结3.2 数组复杂方法

他说Python 2022-01-09 阅读 57

1. 过滤方法filter(不会改变原始数组)

filter能够将数组中不需要的元素去除
接受一个函数作为参数,函数含有3个可选参数,分别是
1.当前元素的值
2.当前元素的索引。
3.需要过滤的数组
遍历时,return false过滤,true则保留

		let arr=[1,2,3,"a"]	
		let arr2=arr.filter(function(a,b,c){
			console.log(a,b,c);
			// 1 0  [1, 2, 3, 'a']
			// 2 1  [1, 2, 3, 'a']
			// 3 2  [1, 2, 3, 'a']
			// a 3  [1, 2, 3, 'a']
		})
		
		let arr2=arr.filter(value=> value>1?1:0)
			//[2, 3]


2.计算方法map(不改变原始数组)

map能够对数组中的元素加工 接受一个函数作为参数,函数含有3个可选参数,分别是
1.当前元素的值。
2.当前元素的索引。
3.需要计算的数组

		let arr2=arr.map(function(a,b,c){
		console.log(a,b,c); 
//1 0  [1, 2, 3, 'a']
//2 1 [1, 2, 3, 'a']
//3 2  [1, 2, 3, 'a']
//a 3  [1, 2, 3, 'a']
			return 1
		})
		console.log(arr2); // [1, 1, 1, 1]

遍历时,return 的值作为新数组的元素

3.累加方法 reduce(不改变原始数组)

reduce 把数组中的元素加工成一个值 有4个参数 第一个第二个必须有

1.函数先前返回的值。
2.当前元素的值。
3.当前元素的索引。
4.当前元素所属的数组

let result=arr.reduce(function(a,b,c,d){
			console.log(a,b,c,d);
			 return a+b		
		})
		//	1 2 1  [1, 2, 3, 4]
 		//	3 3 2  [1, 2, 3, 4]
 		//	6 4 3  [1, 2, 3, 4] 		
		console.log(result);	//10

reduce默认数组第一个值为返回值参数a,第二个值为当前元素参数b
函数的return作为下次遍历的返回值a
可以设置默认值
	let result=arr.reduce(function(a,b,c,d){
			console.log(a,b,c,d);
			return a+b		
			},5)			//设置5作为返回值a,
		//	5 1 0 (4) [1, 2, 3, 4]
		//	6 2 1 (4) [1, 2, 3, 4]
		//	8 3 2 (4) [1, 2, 3, 4]
		//    11 4 3 (4) [1, 2, 3, 4]
		    console.log(result);	//15

4检测方法 some every(不改变原数组)

every(function(){})遍历数组,如果函数都返回true,则返回true。
some(function(){})遍历数组,如果函数任一项返回true,则返回true。

some every 检测数组中的元素是否符合条件
函数含有3个可选参数,分别是
1.当前元素的值。
2.当前元素的索引。
3.需要计算的数组

let arr=[1,2,3,4]	
		let result=arr.some(function(a,b,c){
			return 	a>3
		})
		let result2=arr.every(function(a,b,c){
			return 	a>3
		})
		console.log(result,result2);	//true false
		因为some 返回值中只要有符合条件的就true
		every 必须要所有的返回值都符合条件

举报

相关推荐

0 条评论