Sequence NODE_159
MediumImplement Custom Array.filter
JavaScript
Technical Specification
Implement a custom filter function called myFilter that works similarly to Array.prototype.filter.
Input/Output Samples
Input:[1,2,3,4].myFilter(x => x % 2 === 0)
Output:[2,4]
Optimal Logic Path
Array.prototype.myFilter = function (callback) {
const result = [];
for (let i = 0; i < this.length; i++) {
if (Object.prototype.hasOwnProperty.call(this, i)) {
if (callback(this[i], i, this)) {
result.push(this[i]);
}
}
}
return result;
};Architectural Deep-Dive
Similar to map, but we only store elements whose callback result is truthy.