如何在 JavaScript 中為物件建立映射函數?
Dec 18, 2024 am 07:46 AM在JavaScript 中為物件建立Map 函數(取代Array.map)
在JavaScript 中,Array.prototype.map()方法廣泛用於迭代數組並對每個元素應用指定的函數。但是,物件不存在類似的本機方法。本文透過引入物件的自訂映射函數來探索此限制的解決方案。
問題:
考慮一個具有鍵值對的物件:
myObject = { 'a': 1, 'b': 2, 'c': 3 };
登入後複製
目標是建立一個新對象,其中每個值都由指定函數進行轉換。例如,讓我們將值加倍:
newObject = myObject.map(function(value, label) { return value * 2; }); // newObject should now be { 'a': 2, 'b': 4, 'c': 6 }
登入後複製
解決方案:
儘管JavaScript 缺乏物件的本機映射函數,但有一個使用Object.map 的優雅解決方案。 keys() 和 forEach() 方法:
var myObject = { 'a': 1, 'b': 2, 'c': 3 }; Object.keys(myObject).forEach(function(key, index) { myObject[key] *= 2; }); console.log(myObject); // Output: { 'a': 2, 'b': 4, 'c': 6 }
登入後複製
在此程式碼:
- Object.keys(myObject) 傳回物件屬性名稱的陣列。
- forEach() 方法迭代此陣列。
- 對於每個屬性,我們使用myObject[key] 存取它的值,並直接在object.
此方法會就地修改原始對象,這在某些情況下可能並不理想。要使用轉換後的值建立新對象,只需在應用轉換之前克隆原始對象即可。
以上是如何在 JavaScript 中為物件建立映射函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)