includes() 、find()、 some()、every()、reduce()、map()、filter()

1、includes()

let  arr =  [1,2,3,4,55];
arr.includes(5);
返回的是布尔类型

2、find() 可以找出带几的项

let arr = [1,2,23,4,55,555];
arr.find(function(item,index){
	return item.toString().indexOf(5)>-1
    })            //只找到55
返回找到的那一项,不会改变原数组,回掉函数中返回true表示找到了,找到后就停止循环,找不到返回undefined
找到具体的某一项用find

例如:用户列表,找用户的用户名和密码,找到后就停止循环
3、some()、every()

let  arr = [1,2,3,4,5];
arr.some(function(item,index){
	return item.toString().indexOf(5)>-1
	})
some()    找true   找到true后停止   返回true,找不到返回false
every()     找false   找到false后停止  返回false

4、reduce()
收敛函数 四个参数 ,返回叠加后的结果,原数组不发生变化,回调函数返回:
1)prev代表的是数组的第一项,next 代表数组的第二项,
2)prev是undefined,next变成第三项
求和1:

	[1,2,3,4,5].reduce(function(prev,next,index,item){
		return prev+next;     //本次返回值会作为下一次的prev
		})

求和2:

[{price:5,count:3},{price:5,count:3},{price:5,count:3}].reduce(function(prev,next){
		return prev+next.price*next.count;     
		},0);       //默认指定第一次的prev

二维数组变一维数组:

[[1,2,3],[4,5,6],[7,8]].reduce(function(prev,next){
	return prev.concat(next);
	})

5、map()
映射 将原有数组映射成一个新数组

[1,2,3]
  • 1
  • 2
  • 3
  • let arr = [1,2,3].map(function(item){ return `
  • ${item}
  • ` //['
  • 1
  • ','
  • 2
  • ','
  • 3
  • '] }) arr.join('') //
  • 1
  • 2
  • 3
  • 不改变原数组,返回新数组,回调函数中返回什么这一项就是什么
    6、filter()
    过滤

    [1,2,3,4,5].fliter(function(item){
    	return item>2&&item<5          //[3,4]
    	})	
    	不操作原数组,返回过滤后的新数组,回调函数中返回true表示这一项放到新数组中
    

    你可能感兴趣的:(includes() 、find()、 some()、every()、reduce()、map()、filter())