在 JavaScript 中实现自定义函数,如 Array.prototype.filter() 函数
问题
我们需要编写一个存在于 Array 类的原型对象中的 JavaScript 函数。
我们的函数应将回调函数作为其唯一的参数。此回调函数应为数组的每个元素调用。
此回调函数应有两个参数,即对应的元素及其索引。如果回调函数返回 true,我们应将对应的元素包含在输出数组中,否则应将其排除在外。
示例
代码如下 −
const arr = [5, 3, 6, 2, 7, -4, 8, 10]; const isEven = num => num % 2 === 0; Array.prototype.customFilter = function(callback){ const res = []; for(let i = 0; i < this.length; i++){ const el = this[i]; if(callback(el, i)){ res.push(el); }; }; return res; }; console.log(arr.customFilter(isEven));
输出
[ 6, 2, -4, 8, 10 ]
广告