利用JavaScript重构数组的filter方法 实现底层逻辑
filter 用于从数组中过滤出符合指定条件的元素,并返回一个新的数组
- 参数:function(item,index,arr){}
- 返回值:返回符合条件数组元素组成的新数组
- 修不修改原数组:不修改原数组
/**
* 重构filter方法
*/
Array.prototype.myFilter = function (callback) {
let newArr = []
for (var i = 0; i < this.length; i++) {
if (callback(this[i], i, this)) {
newArr.push(this[i])
}
}
return newArr
}
var arr = [1, 2, 3, 4, 5]
var res = arr.myFilter(function (item, index, arr) {
return item > 3
})
console.log(res, arr);//[ 4, 5 ] [ 1, 2, 3, 4, 5 ]