[英]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.