五个迭代方法:
#1----every() 特点:如果数组中的每一项都返回true,则返回true。
var g =['mnblh',55,'25po',1140]
var m =g.every(function(a,b,c){ a表示每一项 b表示下标 c表示原数组
console.log(a);
return a;
})
console.log(m);此时打印为true,因为数组里的每一项都返回true总结果就为true
#2----some()//特点:只要数组中的任意一项返回true,就返回true。
var g =['mnblh',0,'25po',100]
var m =g.some(function(a,b,c){ a表示每一项 b表示下标 c表示原数组
console.log(a);
return a;
})
console.log(m); 此时打印为true,因为数组里只要有一项返回true总结果就为true
#3---filter() 特点:(这个方法适用于筛选)给函数的结果一个条件,打印为符号条件的新数组。
var g =['mnblh',0,'25po',100]
var m =g.filter(function(a,b,c){ a表示每一项 b表示下标 c表示原数组
console.log(a);
return a>0; 函数结果的条件为大于0
})
console.log(m);打印结果为新的数组---[100]
#4---map() 特点:给函数的结果一个条件,把数组里的每项打印出来布尔值,组成一个新的数组以此作为打印结果。
var g =['mnblh',0,'25po',100]
var m =g.map(function(a,b,c){ a表示每一项 b表示下标 c表示原数组
console.log(a);
return a>0; 函数结果的条件为大于0
})
console.log(m);打印结果为新的数组--- [false, false, false, true]
这个方法也可以进行运算,如果条件为return a*5;打印结果为---[NaN, 0, NaN, 500]
#5---forEach()//特点:(该方法不支持return给了也无效)该方法可以直接进行运算不需要给它函数的结果。
var g =['mnblh',0,'25po',100]
var m =g.forEach(function(a,b,c){ a表示每一项 b表示下标 c表示原数组
console.log(a/2); 运算条件为除以2
打印结果为---NaN,0,NaN,50
})
注:forEach和map的最大区别就在于,forEach没有返回值。 即使给forEach加上return也无效