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()