在JavaScript 物件中建立動態鍵
在嘗試將鍵動態新增至物件時,下列方法可能無法達到預期結果:
jsObj = {}; for (let i = 1; i <= 10; i++) { jsObj{'key' + i} = 'example ' + 1; }
要建立動態鍵,必須在循環內使用方括號表示法:
jsObj['key' + i] = 'example ' + 1;
理解物件屬性和陣列行為
JavaScript 物件可以具有數字字串的屬性名稱(例如「0」、「5」、「207」)。但是,陣列實例的行為有很大不同:
此行為對方括號運算子的功能沒有影響,方括號運算子提供物件屬性的存取和修改。
使用數字名稱設定屬性
使用方括號表示法設定帶有數字名稱的屬性時,會發生以下情況:
因此,當需要維護長度屬性時,使用陣列來儲存數字屬性可能是有益的。
JSON 序列化注意事項
使用 JSON 序列化時,請務必注意,序列化形式中僅包含數組的數字命名屬性。新增的任何其他屬性都會遺失。
ES2015 計算屬性名稱
在 ES6 JavaScript 中,計算屬性名稱可以輕鬆用於處理動態鍵:
let key = 'DYNAMIC_KEY', obj = { [key]: 'ES6!' }; console.log(obj); // { 'DYNAMIC_KEY': 'ES6!' }
以上是如何在 JavaScript 物件中建立動態鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!