数组遍历方法
1. every()
// every()
// 当every每一项返回的都是true时,则它的函数返回值为true,只要有一次遍历后的返回值为false,则函数返回值为false.
var res1 = arr.every(res => {
if (res > 15) {
// every当返回false时,会结束遍历数组,跳出函数
return false
}
// 当every返回的是true时,遍历继续.
else return true
})
console.log(res1);
2. some()
// some()
// some和every基本相反,当每一项中有一项返回true时,函数返回值就为true,当每一项皆返回为为false时,函数返回值为false
var res2 = arr.some(res => {
if (res < 0) {
// every当返回true时,会结束遍历数组,跳出函数
return true
}
// 当every返回的是false时,遍历继续.
else return false
})
console.log(res2);
3. filter()
// filter()
// filter过滤器,不会改变原数组,将返回true的每一项的res存入一个新数组,最后返回这个新数组
var res3 = arr.filter(res=>{
return res > 3
})
console.log(res3);
4. map()
// map方法,将数组中的每一个值交给一个函数,将遍历的每一项的返回值存入一个新数组,并返回这个新数组
var res4 = arr.map(res=>{
// 将数组每一项乘2后返回给一个新数组
return res*2
})
console.log(res4)
5. forEach()
// forEach()
// forEach方法会遍历整个数组,一旦开始,无法如some和every一样跳出遍历
arr.forEach(res=>{
console.log(res);
})
6. reduce()
// reduce()
// reduce累加方法,
// 第一个参数为函数 sum为累加值,每一次遍历的返回值都会存在sum中,next表示数组中的每一项,最后遍历结束的函数返回值是遍历的最后一次返回值
// 第二个参数 也就是0,表示给sum的初始化
var res5 = arr.reduce((sum,next)=>{
console.log(sum);
return sum + next
},0)
console.log("res5=" + res5);