簡體   English   中英

如何在數組中添加對象的鍵?

[英]how to add key of object in array?

伙計們。 我有這樣的數組

array = [{name:"A",data:"..."},{name:"B",data:"..."},{name:"C",data:"..."}]

我想編輯這個數組

array = [ "A":{name:"A",data:"..."},"B":{name:"B",data:"..."},"C":{name:"C",data:"..."}

我怎么能從它自己的值設置對象鍵?

嘗試這個:

console.log(array.map(el => ({[el.name]: el})));

要獲取對象,您可以使用帶有映射的鍵/值對的Object.fromEntries

 var array = [{ name: "A", data: "..." }, { name: "B", data: "..." }, { name: "C", data: "..." }], result = Object.fromEntries(array.map(o => [o.name, o ])); console.log(result);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

JavaScript 數組不是這樣工作的。 數組的索引值只能有遞增的數字索引([0, 1, ..., n])。 如果您不想創建這樣的列表,您可以創建對象而不是數組。

 const array = [{name:"A",data:"..."},{name:"B",data:"..."},{name:"C",data:"..."}]; const newList = {}; array.forEach(obj => { newList[obj.name] = obj; }); console.log({ newList });

通過這種方式,您可以從數組中創建對象。 然后,您可以像使用數組一樣循環對象的鍵:

Object.keys(newList).forEach((key) => {
  console.log(newList[key]);
})

. 希望能幫助到你。

就這樣做。

 var arr = [{name:"A",data:"..."},{name:"B",data:"..."},{name:"C",data:"..."}] var output = arr.map(elem => ({[elem.name]: elem})) console.log(output)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM