JS数组之迭代方法

迭代方法(不会影响原数组)

1. filter() 过滤筛选

对每一项执行给定函数,返回满足要求的项组成的数组。

2. map() 映射

对每一项执行给定的函数,返回每次调用给定函数后的结果组成的数组。

3. forEach() 循环遍历

对每一项运行给定函数,无返回值

4. every() 相当于and 检测数组元素是否全都符合指定条件

对每一项都执行给定函数,如果函数对每一项都返回true(也就是说全部满足要求),则返回true。

5. some() 相当于or 检测数组元素中是否有元素符合指定条件

对每一项都执行给定函数,只要有一项返回true,则返回true。

var arr = [1,2,3,11,25,40];
// filter() 过滤筛选 返回满足要求的项组成的数组
console.log(arr.filter(function(item,index,array) {
    console.log("索引值: "+ index + " 对应项:" + item + "\t所在数组:" + array);
    return item*4 > 10;
}));

// map() 映射 返回每次调用给定函数后的结果组成的数组
console.log(arr.map(function(item,index,array) {
    return item*2;
}));

// forEach() 遍历 对每一项运行给定函数 无返回值
arr.forEach(function(item,index,array) {
    console.log(item);
});
// 相当于:
for(var i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}

// every() 对每一项都执行给定函数,如果函数对每一项都返回true,则返回true 相当于and的作用
console.log(arr.every(function(item) {
    return item < 3;
}));
console.log(arr.every(function(item) {
    return item > 0;
}));

// some() 对每一项都执行给定函数,只要有一项返回true,则返回true 相当于or的作用
console.log(arr.some(function(item) {
    return item == 3;
}));

猜你喜欢

转载自www.cnblogs.com/buildnewhomeland/p/12419765.html