ES6 Array
- 首先先定義一個數組
let arr = [1,2,3,4,5];
forEach()
- forEach會遍歷數組, 沒有返回值,不容許在循環體內寫return,不會改變原來數組的內容
- forEach() 有三個參數,第一個是arr數組裏面的值,第二個是arr數組索引,第三個是arr數組自己的指引
arr.forEach((item, idx, array) => {
//打印 1,2,3,4,5
console.log(item);
//打印 0,1,2,3,4
console.log(idx);
//打印 arr數組自己
console.log(array);
});
map()
- map 遍歷數組, 會返回一個新數組,不會改變原來數組裏的內容
- map() 有三個參數,第一個是arr數組裏面的值,第二個是arr數組索引,第三個是arr數組自己的指引
let val = arr.map((item, idx, array) => {
//注意:若是沒有return值,則新數組會插入一個undefined值
return item * item;
});
//打印 1,4,9,16,25
console.log(val);
filter()
- filter 遍歷數組, 會返回一個新數組, 不會改變原來數組裏的內容
- filter 會過濾掉數組中不知足條件的元素, 把知足條件的元素放到一個新數組中,不改變原數組
- filter() 有三個參數,第一個是arr數組裏面的值,第二個是arr數組索引,第三個是arr數組自己的指引
let val = arr.filter((item, idx, array) => {
//注意:若是沒有return值,則返回一個空數組
return item > 3;
});
//打印 4,5
console.log(val);
every()
- every 遍歷數組,每一項都是true,則返回true,只要有一個是false, 就返回false
- every() 有三個參數,第一個是arr數組裏面的值,第二個是arr數組索引,第三個是arr數組自己的指引
let val = arr.every((item, idx, array) => {
//注意:若是沒有return值,則返回false
return item >= 0;
});
//打印 true
console.log(val);
some()
- some 遍歷數組的每一項, 有一個爲true就返回true, 當即中止循環
- some() 有三個參數,第一個是arr數組裏面的值,第二個是arr數組索引,第三個是arr數組自己的指引
let val = arr.some((item, idx, array) => {
//注意:若是沒有return值,則返回false
return item > 3;
});
//打印 true
console.log(val);
reduce()
- reduce 遍歷數組的每一項, 有一個爲true就返回true, 當即中止循環
- reduce() 有四個參數,第一個是上一次調用回調返回的值,第二個是arr數組裏面的值,第三個是arr數組索引,第四個是arr數組自己的指引
let val = arr.reduce((initialValue, item, idx, array) => {
return initialValue + item;
});
//打印 15
console.log(val);