一、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 | 可选。当前元素所属的数组对象。 |
网友评论