js手写filter()函数(含原理和步骤解析)

定义和用法

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

语法

array.filter(function(currentValue,index,arr), thisValue)

注意:function参数必选,thisValue参数可选

手写步骤:

1. 先判断参数是否为函数,否则直接返回

2.创建一个新数组用于返回filter后的结果

3.循环遍历数组中每一个值,调用函数,将满足条件的元素放入新数组

4.返回新数组

            Array.prototype._filter = function(fn) {
                if(typeof fn !== 'function') return
                let res = []
                for(let i = 0 ; i < this.length ; i++) {
                    if(fn(this[i])){
                        res.push(this[i])
                    }
                }
                return res
            }

 

上一篇:HttpServletRequest和HttpServletResponse


下一篇:WPF Bug清单之(13)——应该出现却没有出现的ListView水平滚动条