我有一個物件陣列如下:
[
{
"card_key": "Edition",
"card_value": "Elite Fight Night"
},
{
"card_key": "Card ID",
"card_value": "15824885587"
}
]
我希望輸出如下:
{
"Edition":"Elite Fight Night",
"Card ID":"15824885587"
}
我怎樣才能在 JavaScript 中做到這一點?我是js的初學者。不知道我該怎么做
uj5u.com熱心網友回復:
只需遍歷陣列并將值保存card_key為鍵和card_value新物件的值。
如下圖所示
obj_array = [
{
"card_key": "Edition",
"card_value": "Elite Fight Night"
},
{
"card_key": "Card ID",
"card_value": "15824885587"
}
]
objs1 = {}
for (const x of obj_array)
objs1[x["card_key"]] = x["card_value"]
console.log(objs1)
uj5u.com熱心網友回復:
您可以使用map和Object.fromEntries
const data = [
{
"card_key": "Edition",
"card_value": "Elite Fight Night"
},
{
"card_key": "Card ID",
"card_value": "15824885587"
}
]
const result = Object.fromEntries(data.map(d => [d.card_key, d.card_value]))
console.log(result)
uj5u.com熱心網友回復:
let arr = [
{
"card_key": "Edition",
"card_value": "Elite Fight Night"
},
{
"card_key": "Card ID",
"card_value": "15824885587"
}
];
let finalObj = {};
for(let i = 0; i < arr.length; i ) {
let obj = arr[i];
finalObj[obj['card_key']] = obj['card_value'];
}
console.log(finalObj);
uj5u.com熱心網友回復:
如果資料具有您提供的結構,則可以使用以下代碼:
const input = [
{
"card_key": "Edition",
"card_value": "Elite Fight Night"
},
{
"card_key": "Card ID",
"card_value": "15824885587"
}
];
const expectedData = input.reduce((acc, item) => ({...acc, [item.card_key]: item.card_value}), {});
console.log(expectedData);
這是一個允許使用動態物件鍵的括號表示法。
鏈接:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors
https://javascript.info/object
減少它是一個函式,允許根據輸入陣列計算值。您可以在此處閱讀有關減少的資訊:
https://javascript.info/array-methods#reduce-reduceright
還有關于傳播運算子(...):
https://javascript.info/rest-parameters-spread#spread-syntax
uj5u.com熱心網友回復:
const data = [{
"card_key": "Edition",
"card_value": "Elite Fight Night"
},
{
"card_key": "Card ID",
"card_value": "15824885587"
}
]
console.log(data.reduce((a, c) => {
a[c.card_key] = c.card_value;
return a
}, {}))
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/467542.html
標籤:javascript 数组 目的
