map,filter,forEach的区别和用法

map

map() 方法创建一个新数组,其结果是该数组都执行一次函数,原函数保持不变。

1
2
3
4
5
var a = [1,2,3,5,4,8,6,3,2]
var newa = a.map(x =>{
return x + 1
})
newa // [2,3,4,5,9,7,4,3] 对新数组进行加1赋值

forEach

forEach() 方法对数组的每一个元素执行一次提供的函数。

1
2
3
4
5
var a = [1,2,3,5,4,8,6,3,2]
var newa = a.forEach((item,index)=>{
return item +1
})
//遍历所有值

filter

filter() 方法使指定函数测试数组的每一个元素,并返回一个通过元素的新数组。

1
2
3
4
5
var a = [1,2,3,5,4,8,6,3,2]
var newa = a.filter(x=>{
return x > 1
})
newa // [2,3,5,4,8,6,3,2] 用于过滤大于1 的

some

some() 方法测试该数组只要有元素通过了指定函数的测试,如果有返回true,否则,返回false。

1
2
3
4
5
6
var a = [1,5,2,4,5,8,6,10]
var newa = a.some(x=>{
return x > 10
})
true // 判断a中是否有大于10 的值有则true 无则 false

every

every() 方法测试该数组是否全部通过指定函数测试,全部通过返回true,否则,返回false

1
2
3
4
5
6
var a = [1,5,2,4,5,8,6,10]
var newa = a.every(x=>{
return x > 10
})
false // 判断a中是否都大于10 的值是则true 无则 false

reduce

reduce() 接受一个函数作为累加器,依次加上数组的当前元素。

1
2
3
4
5
var a = [1,5,2,4,5,8,6,10]
var newa = a.reduce((x,i)=>{
return x + i
})
41 //累加数组中的值