迭代类似于数组遍历,和for循环相似。
js的迭代有五种方法
every()
some()
filter()
map()
forEach()
以上方法都不会修改数组中的包含的值。传入这些方法中的函数会接收三个参数:(当前下标索引值,当前项索引,数组对象本身)
注意:函数中的 item,index,array都是可以自定义的形参名称
1.every()
如果该函数对每一项都返回true,则返回true
var numbers=[1,2,3,4,5,4,3,2,1];
var everyResult=numbers.every(function(item,index,array){
return (item>2);
})
console.log(everyResult) //false
2.some()
如果该函数对任一项返回true,则返回true。
var numbers=[1,2,3,4,5,4,3,2,1];
var someResult=numbers.some(function(item,index,array){
return (item>2);
})
console.log(someResult);//true
3.filter()
执行函数过滤掉不符和条件的数组元素,返回复合条件的数组元素
var numbers=[1,2,3,4,5,4,3,2,1];
var filterResult=numbers.filter(function(item,index,array){
return (item>2);
})
console.log(filterResult);//[3,4,5,4,3]
4.map()
返回执行函数后进行运算的数组元素
var numbers=[1,2,3,4,5,4,3,2,1];
var mapResult=numbers.map(function(item,index,array){
return (item*2);
})
console.log(mapResult);//[2,4,6,8,10,8,6,4,2]
5.forEach()
循环数组,这个方法没有返回值。
var numbers=[1,2,3,4,5,4,3,2,1];
var forEachResult=numbers.forEach(function(item,index,array){
//执行某些操作
console.log(item);
})