const arr =[1,2,3,4]functionincludes(arr,find){if(const val of arr)if(val === find)returntruereturnfalse}includes(arr,1)//trueincludes(arr,5)//false
手写find
functionfind(arr,callback){for(const val of arr)if(callback(val))return val
return undefined
}const arr =[1,2,3,4,5]find(arr,item=>item==1)// 1=============================//修改原型
Array.prototype.findVal= callback =>{for(const val of arr)if(callback(val))return val
return undefined
}const arr =[1,2,3,4,5]
arr.findVal(item=>item==5)// 5
手写 sort
const arr=[12,1,2654,21,35]functionsort(arr,callback){for(const n in arr){for(const m in arr){if(callback(arr[n],arr[m])<0){const temp =arr[n]
arr[n]= arr[m]
arr[m]= temp
}}}return arr
}
console.log(sort(arr,(a,b)=>a-b))// [ 1, 12, 21, 35, 2654 ]=======================================================//原型const arr=[12,1,2654,21,35]
Array.prototype.sortVal= callback =>{for(const n in arr){for(const m in arr){if(callback(arr[n],arr[m])<0){const temp =arr[n]
arr[n]= arr[m]
arr[m]= temp
}}}return arr
}
console.log(arr.sortVal((a,b)=>b-a))
手写filter
const arr =[1,23,4,5]functionfilter(arr,callback){const newAR =[]for(const val of arr){if(callback(val)===true) newAR.push(val)}return newAR
}filter(arr,v=>v>2)//[ 23, 4, 5 ]========================================// 原型const arr =[1,23,4,5]
Array.prototype.filterVal=callback=>{const newAR =[]for(const val of arr){if(callback(val)===true) newAR.push(val)}return newAR
}
arr.filterVal(v=>v>2)//[ 23, 4, 5 ]