includes
var arr= [1,2,3]
console.log(arr.includes(1))//true
forEach
var arr= [1,2,3]
arr.forEach(function(val,index,arrays){
console.log(val,index,arrays,this)
// 1 ,0, [1, 2, 3],window
// 2 ,1, [1, 2, 3],window
// 3 ,2, [1, 2, 3],window
})
arr.forEach(function(val,index,arrays){
console.log(val,index,arrays,this)
// 1 ,0, [1, 2, 3],[1,2,3]
// 2 ,1, [1, 2, 3],[1,2,3]
// 3 ,2, [1, 2, 3],[1,2,3]
},arr)
//代码实现
function myEach(array,callback,context){
for(let i=0;i<array.length;i++){
callback.call(context,array[i],i,array)
}
}
myEach(arr,function(val,index,arrays){
console.log(val,index,arrays,arr)
// 1 ,0, [1, 2, 3],[1,2,3]
// 2 ,1, [1, 2, 3],[1,2,3]
// 3 ,2, [1, 2, 3],[1,2,3]
},1)
every(全选功能,全为真返回true)
var arr2=[2,3,4,5,6,7,8]
console.log(arr2.every(val=>val>5))//false
console.log(arr2.every(val=>val>1))//true
some(多选功能,有一个为真则返回true)
var arr2=[2,3,4,5,6,7,8]
console.log(arr2.some(val=>val>6))//true
console.log(arr2.some(val=>val>9))//false
filter过滤
var arr2=[2,3,4,5,6,7,8]
console.log(arr2.filter(val=>val>3))// [4, 5, 6, 7, 8]
map映射(return出去的值为原数组的映射值,赋值给新数组)
var arr2=[2,3,4,5,6,7,8]
console.log(arr2.map(val=>val>3))// [false, false, true, true, true, true, true]
reduce拆分
var arr2=[2,3,4,5,6,7,8]
//0表示结果的初始值
//prev上一次返回的结果值
//current当前值
console.log(arr2.reduce(function(prev,current){
return prev+current
},0))//35