ES5中数组循环
arr.forEach(), arr.map(),arr.filter(),arr.some(),arr.every(),arr.reduce(),arr.reduceRight();
1 arr.forEach()
var arr=["111',"222","333","444"]
arr.forEach(function(item,index,arr){
})
forEach()方法就是和for方法是一样的
2 arr.map()
var arr=["222","333","444","555"]
arr.map(function(item,index,arr){
returm item+1;
});
arr.map如果有return的话就是会重新组装数据,如果没有return的话就是和for,forEach是一样的功能
3 arr.filter();
var arr=["111","222","333","444"]
arr.filter(function(item,index,arr){
if(item%2==0){
return true;
}
})
arr.filter 如果返回值是true则这一项就会保留下来,如果是false则会过滤掉
4 arr.some();
var arr=["111","222","333"]
arr.some(function(item,index,arr){
return item=="111"
})
数组里面有一个满足条件就是返回true
arr.every()表示数组里面每个都满足条件才返回true
5 arr.reduce() 可以用来求数组的和
var arr=[1,2,3,4,5,6,7,8,9,10]
arr.reduce(function(prev,cur,index,arr){
return prev+cur;
})
其中prev是上一次return的结果
5 for of
var arr=["111","222","333"]
for(let item of arr){
console.log(item) // 111,222,333
}
for(let index of arr.keys()){
console.log(index) // 111,222,333
}
for(let item of arr.entries()){
console.log(item);
}
for([key,val] of arr.entries()){
}
for of 循环
数组新增了 arr.keys(),arr.entries()