點燈坊

失くすものさえない今が強くなるチャンスよ

當 Object 的 Key 重複時,其 Value 將被覆蓋

Sam Xiao's Avatar 2023-08-14

可將 Object 當成簡易的資料庫,當 key 重複時,會自動將其覆蓋,不需做特別處理,非常方便。

Version

ECMAScript 2015

Key as Literal

let obj = {
  '001': true
}

obj = {...obj, '001': false }

console.warn(obj)
  • ...obj 將原 Object 展開
  • 直接將 '001': false 合併成新的 Object 即可,若 001 key 重複時,會自動將其覆蓋,不需任何處理

Key as Variable

let obj = {
  '001': true
}

let key = '001'

obj = {...obj, [key] : false }

console.warn(obj)
  • 若 key 為 變數 時,則該變數須以 [] 刮起來

Conclusion

  • 使用 Array 雖然直覺,但並沒有比較方便,可善用 Object 的特性