const arr = [1,2,3,4,5,6]
arr.indexOf(11) // 返回符合条件的第一个数据的下标,没有返回-1
arr.includes(1) // 返回true或false
arr.forEach((item,index,arr)=>{ // 没有返回值,对原数组没有影响
console.log(item*2)
})
arr.map((item,index,arr)=>{ // 返回值是一个新数组,改变原数组
return item*2
})
arr.filter((item,index,arr)=>{ // 返回一个符合条件的新数组,不符合返回空数组,不会改变原始数组,返回新数组
return item>8
})
arr.reduce(callback,[initialValue])
callback (包含四个参数,分别是:上一次的值,当前值,当前值的索引,数组)
1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
initialValue (作为第一次调用 callback 的第一个参数。)
arr.reduce((lator,value,index,arr)=>{ // 返回函数处理的结果
return lator+value
},0)
arr.find((value,index,arr)=>{ // 返回符合条件的第一个元素。否则返回undefined
return value[index]===1
})
arr.findIndex((value,index,arr)=>{ // 返回数组中第一个满足该条件的值的下标,没有返回-1
return value[index]===1
})
// some 一直在找符合条件的值,一旦找到,则不会继续迭代下去
let someR = arr.some((item, index, array) => {
return item > 3
});
console.log(someR) // true
// every 一旦有一个不符合条件,则不会继续迭代下去
let everyR = arr.every((item, index, array) => {
return item > 3
});
console.log(everyR) // false
https://www.jianshu.com/p/9539761e2b65
https://www.cnblogs.com/xiangW/p/11064574.html