2023年11月13日 星期一

Object.fromEntries() 用於 Array 的注意事項

 Object.fromEntries() 用於 Array 的注意事項

前言

  在 透過 Object.fromEntries() 將 Array 快速複製到 Object 提到 Object.fromEntries() 用於 Array 的範例有提到用在數值做佚代的 Array 會有問題,但查了一下發現有解決方法,仔此把學習的過程做個紀錄。


內容

  範例如下

let ar = [
  [ 'a' , 123 ],
  [ 'b' , 456 ]
];
let ar1 = [ 123 , 456 , 789 ];
//
console.log( Object.fromEntries(ar ) );
// [object Object] {
//   a: 123,
//   b: 456
// }
//
//
console.log( Object.fromEntries(ar1.entries() ) );
//
console.log( Object.fromEntries(ar.entries() ) );
// [object Object] {
//   0: ["a", 123],
//   1: ["b", 456]
// }


範例開頭示範對 ar 使用 Object.fromEntries() ,接著對以數值為佚代的 Array 使用 Object.fromEntries()  ,但這次會在使用前喚起 Array.entries() ,接著發現這樣就可以正常複製,Array.entries() 到底做了什麼呢?所以接著拿 ar 來實驗會發現 Array.entries() 做的是強制把每個內容用數值當佚代的結果,所以複製的結果會變成使用數值當索引,而內容變成了陣列!


參考資料

[ developer.mozilla.org ] Object.fromEntries()


相關文章與資料

透過 Object.fromEntries() 將 Array 快速複製到 Object

沒有留言:

張貼留言