Array Methods
Array.map
Array.prototype.myMap = function (callback) {
const result = [];
for (let i = 0; i < this.length; i += 1) {
result.push(callback(this[i], i, this));
}
return result;
};
Array.filter
Array.prototype.myFilter = function (callback) {
const result = [];
for (let i = 0; i < this.length; i += 1) {
if (callback(this[i], i, this)) {
result.push(this[i]);
}
}
return result;
};
Array.reduce
Array.prototype.myReduce = function (callback, initialValue) {
let result = initialValue;
for (let i = 0; i < this.length; i += 1) {
if (i === 0 && initialValue === undefined) {
result = this[i];
} else {
result = callback(result, this[i], i, this);
}
}
return result;
};
Array.every
Array.prototype.myEvery = function (callback) {
if (this.length === 0) return false;
for (let i = 0; i < this.length; i += 1) {
if (!callback(this[i], i, this)) return false;
}
return true;
};