js 数组的迭代方法

172 阅读1分钟

foreach

var arr = [1,2,3,4,5,6,7,8];
arr.forEach(function(item,index){
    console.log(item + "-----" + index);
});


map

var arr = [1,2,3,4,5,6,7,8];
var arr1 = arr.map(function(item,index){
    return item * item;
});
console.log(arr1);


区别:

map:对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组。

foreEach:对数组中的每一项运行给定的函数,没有返回值。

filter

var arr = [1,2,3,4,5,6,7,8];
var arr1 = arr.filter(function(item,index){
    return index % 3 === 0 || item > 5;
});
console.log(arr1);


every

var arr = [1,2,3,4,5,6,7,8];
var res = arr.every(function(item,index){
    return item > 3;
});
console.log(res);    //false
var arr = [1,2,3,4,5,6,7,8];
var res = arr.every(function(item,index){
    return item > 0;
});
console.log(res);   //true

some

var arr = [1,2,3,4,5,6,7,8];
var res = arr.some(function(item,index){
    return item > 7;
});
console.log(res);    //true

var arr = [1,2,3,4,5,6,7,8];
var res = arr.some(function(item,index){
    return item > 8;
});
console.log(res);    //false

every和some的区别:

every:数组的每一项都满足条件时返回true,否则返回false。

some:只要数组中有一项满足条件就返回true,都不满足条件时返回false。