在ES5中,我們可以通過原型擴展的方式實現類似數組map方法的功能。下面是一個簡單的實現示例:
Array.prototype.myMap = function(callback) {
var newArray = [];
for (var i = 0; i < this.length; i++) {
newArray.push(callback(this[i], i, this));
}
return newArray;
};
這個實現包含幾個關鍵點:
Array.prototype擴展方法,使所有數組實例都能使用使用示例:
var numbers = [1, 2, 3];
var doubled = numbers.myMap(function(num) {
return num * 2;
});
// 輸出: [2, 4, 6]
這種實現方式雖然簡單,但包含了map方法的核心思想:不修改原數組,通過回調函數處理每個元素后返回新數組。在實際ES5環境中,建議直接使用原生map方法以獲得更好性能。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。