一、Js數組迭代器方法
主要介紹js數組中的forEach,every,some,filter,map迭代器方法
二、介紹
forEach(currentValue,index,arr)
- 方法用于調用數組的每個元素,并將元素傳遞給回調函數。
- 沒有返回值
- 不改變原數組
- 不會對空數組檢測
var arr = [1, 2, 3, 4, 5];
var a = []
arr.forEach(function (item) {
if (item%2===0) {
a.push(item);
}
});
//a:[2,4]
map(currentValue,index,arr)
- 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值。
- 不改變原數組
- 不會對空數組檢測
var arr = [1, 2, 3, 4, 5];
var a = arr.map(function (item) {
if (item%2===0) {
return item;
}
});
//a: [undefined, 2, undefined, 4, undefined]
filter(currentValue,index,arr)
- 檢測數值元素,并返回符合條件所有元素的數組。
- 不改變原數組
- 不會對空數組檢測
var arr = [1, 2, 3, 4, 5];
var a = arr.filter(function (item) {
return item%2===0
});
//a: [ 2, 4]
some(currentValue,index,arr)
- 檢測數組元素中是否有元素符合指定條件。
- 方法會依次執行數組的每個元素:
. - 如果有一個元素滿足條件,則表達式返回true , 剩余的元素不會再執行檢測。
. - 如果沒有滿足條件的元素,則返回false。- 不改變原數組
- 不會對空數組檢測
var arr = [1, 2, 3, 4, 5];
var a = arr.some(function (item) {
return item%2===0
});
//a:true
every(currentValue,index,arr)
- 檢測數值元素的每個元素是否都符合條件。
- 方法使用指定函數檢測數組中的所有元素:
. - 如果數組中檢測到有一個元素不滿足,則整個表達式返回 false ,且剩余的元素不會再進行檢測。
. - 如果所有元素都滿足條件,則返回 true。- 不改變原數組
- 不會對空數組檢測
var arr = [1, 2, 3, 4, 5];
var a = arr.every(function (item) {
return item%2===0
});
//a:false
三、參數說明
參數 | 描述 |
---|---|
currentValue | 必需。當前元素 |
index | 可選。當前元素的索引值。 |
arr | 可選。當前元素所屬的數組對象。 |