迭代(遍历数组)forEach、filter、map、every
1.forEach用法(遍历)
forEach用法:Array.forEach(function(数组当前项的值,数组当前项的索引值,数组本身){})
forEach()与some()的区别:forEach()找到第一个满足条件的元素后会继续遍历,some()找到第一个满足条件的元素后就终止循环,效率更高
var arr=[13,2,2,5]
var sum=0
// forEach用法:Array.forEach(function(数组当前项的值,数组当前项的索引值,数组本身){})
arr.forEach(function(value,index,Array){
console.log("第"+index+"个数组的值是"+value)
console.log("数组本身"+Array)
sum+=value
console.log('sum:'+sum)
})
2.map()方法会得到一个新的数组并返回,forEach() 方法不会返回执行结果,而是undefined。
也就是说,forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。
arr.map(function(value){
return value
})
console.log('arrMap',arrMap)
3.filter用法:过滤符合条件的元素
filter返回的是一个数组,是把所有满足条件的元素返回来
// 2.filter用法
// filter用法:Array.filter(function(数组当前项的值,数组当前项的索引值,数组本身){})
var arr2=[33,52,12,22,55] var newArr2=arr2.filter(function(value,index,Array){ return value>20 }) console.log("newArr2:"+newArr2)
4.some用法:查找数组中是否有满足条件的元素
如果找到第一个满足条件的元素,则终止循环,不再查找,效率高
// 3.some()的用法:判断数组中有没有满足条件的元素,返回布尔值 var arr3=[2,3,55,25,11,11] var flag=arr3.some(function(value,index,Array){ return value>=25 }) console.log(flag)