高阶函数
forEach()
let arr = [80,90,60,50,40]
arr.forEach((item, index, arr) => {
arr[index] = item * 2
})
console.log(arr)
map()
let arr = [80,90,60,50,40]
let newArr = arr.map((item, index, arr) => {
return item >= 60 ? '及格' : '不及格'
})
console.log(newArr)
reduce()
let arr = [80,90,60,50,40]
let sum = arr.reduce((prev,cur,index,arr) => {
return prev + cur
},init = 0)
console.log(sum)
filter()
- 返回一个新数组
- 当返回值为true时,会自动将该项添加到新数组中
let arr = [80,90,60,50,40]
let newArr = arr.filter(item => {
return item >= 60
})
console.log(newArr)
find()
- 无返回值则返回undefined
- 当返回值为true时,则返回该项并终止遍历,所以find方法只能返回符合条件的第一个字项
let arr = [80,90,60,50,40]
let foo = arr.find((item, index, arr) => {
return item < 60
})
console.log(foo)
some()
- 返回结果为boolean值,true/false
- 用于判断数组中每一项是都否满足条件(只要有一项不满足就返回true)
let arr = [80,90,60,50,40]
let foo = arr.some((item, index, arr) => {
return item > 60
})
console.log(foo)
every()
- 返回结果为boolean值,true/false
- 用于判断数组中每一项是都否满足条件(只要有一项不满足就返回false)
let arr = [80,90,60,50,40]
let foo = arr.every((item, index, arr) => {
return item > 60
})
console.log(foo)