2 回答

TA貢獻(xiàn)2019條經(jīng)驗 獲得超9個贊
// mapper simply creates the object that you want from the one that you have - id as the key and min and max are the values
const mapper = ({ id, minimum: min, maximum: max }) => ({ [id]: { min, max } });
const obj = data.reduce((acc, obj) => ({
...acc,
...mapper(obj)
}), {});
編輯:
雖然reduce 是執(zhí)行此操作的正確方法 - 您將數(shù)組減少為單個事物,但JavaScript 允許您以多種方式執(zhí)行操作。這是使用 map 和 的替代解決方案Object.assign:
const mapper = ({ id, minimum: min, maximum: max }) => ({ [id]: { min, max } });
const obj = Object.assign(...data.map(mapper));

TA貢獻(xiàn)1818條經(jīng)驗 獲得超8個贊
您可以獲取Object.fromEntries
?并映射這些條目。
const
? ? data = [{ id: 32, minimum: 200, maximum: 400 }, { id: 16, minimum: 370, maximum: 390 }, { id: 85, minimum: 700, maximum: 950 }],
? ? result = Object.fromEntries(
? ? ? ? data.map(({ id, minimum: min, maximum: max }) => [id, { min, max }])
? ? );
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
添加回答
舉報