js数组之forEach,every,some,filter,m

2018-06-15  本文已影响0人  信仰与初衷

js数组有很多操作方法,其中forEach,every,some,filter,map,reduce是常容易混淆用法的,下面我来解释其中的区别

var list = [{
    "id": 1,
    "age": 19
},
{
    "id": 2,
    "age": 18
}]

var result = list.forEach((val,index) => {
    val.id = val.id + 1
    //return  
})
console.error(result, list)

var boolData = list.every(val => {
    return val.age > 18
})

console.error(boolData, list);

var boolData2 = list.some(val => {
    return val.age > 18
})

console.error(boolData2, list);

var data = list.filter(val => {
    return val.age > 18
})

console.error(data, list);

var mapData = list.map(val => {
    return (val.id) * 2
})

console.error(mapData, list);

var reduceData = list.reduce((prev, next) => {
       return prev.id + next.id * next.id 
})

console.error(reduceData);

输出结果如下:

undefined, [ { id: 2, age: 19 }, { id: 3, age: 18 } ]                      #forEach

false, [ { id: 2, age: 19 }, { id: 3, age: 18 } ]                          #every

true, [ { id: 2, age: 19 }, { id: 3, age: 18 } ]                           #some

[ { id: 2, age: 19 } ], [ { id: 2, age: 19 }, { id: 3, age: 18 } ]         #filter

[ 4, 6 ], [ { id: 2, age: 19 }, { id: 3, age: 18 } ]                       #map

11                                                                                         #reduce

可以看出:

上一篇下一篇

猜你喜欢

热点阅读