0%

[Day23] jsES6語法-常用陣列方法(上)

every

如果我們想要確認陣列裡面的資料都符合條件,我們可以在陣列裡面使用 every 條件來篩選, return 後面的條件式如果全部符合條件就會回傳 true,如果沒有就是回傳 false。像是陣列 people 裡面只有一個物件的 money > 150 ,因此會回傳 false。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let people = [
{
name:'Leo',
money:100
},
{
name:'Peter',
money:200
}
];

let ans = people.every(function(item){
return item.money > 150
});

console.log(ans)

some

和 every 最大的差異在於,陣列裡面只要有條件符合,就會回傳 true ,比如有有其中一個物件的 money > 150 ,最後就會回傳 true。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let people = [
{
name:'Leo',
money:100
},
{
name:'Peter',
money:200
}
];

let ans = people.some(function(item){
return item.money > 150
});

console.log(ans)

reduce

參數 prev 代表先前的值,而 prev 的初始值就是 reduce 的第二個參數,像這範例就是 0,最後我們將陣列的值全部加起來,得到 300 的總和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
let people = [
{
name:'Leo',
money:100
},
{
name:'Peter',
money:200
}
];

let ans = people.reduce(function(prev,item){
return prev+item.money
},0);

console.log(ans);