js实现一个filter

function fn(value, index, arr) {
  return value > 20
}
Array.prototype.myfilter = function (fna) {
  let arr = []
  let arr1 = Array.prototype.slice.call(this, 0, this.length)

  for (let i = 0; i < arr1.length; i++) {
    if (fna(this[i], i, this)) {
      arr.push(arr1[i])
    }
  }
  return arr
}
arr = [12, 34, 4, 3, 23, 53]
arr.myfilter(fn)

你可能感兴趣的:(前端小芝士)