5 回答

TA貢獻1898條經驗 獲得超8個贊
取鍵數組,并將每個鍵映射到鍵和值的條目:5
const keys = ['a', 'b', 'c'];
const obj = {
...Object.fromEntries(
keys.map(key => [key, 5])
),
d: 6
};
console.log(obj);

TA貢獻1784條經驗 獲得超7個贊
像這樣的東西的工作原理:
const obj = {};
const value = 5;
['a', 'b', 'c'].forEach(key => obj[key] = value);

TA貢獻1871條經驗 獲得超13個贊
function(item)
{
return Object.keys(item).reduce((a, b) => ({ ...a, [b]:5 }),{});
}

TA貢獻1828條經驗 獲得超13個贊
另一種解決方案可以采用擴展的對象數組。Object.assign
const
keys = ['a', 'b', 'c'],
obj = { ...Object.assign(...keys.map(k => ({ [k]: 5 }))), d: 6 };
console.log(obj);

TA貢獻1854條經驗 獲得超8個贊
您可以構建一個 zip 函數,該函數采用鍵數組和值數組,并返回一個對象,其中每個鍵/值對都取自其各自的索引:
const zip =
(ks, vs) =>
ks.reduce((o, k, i) =>
(o[k] = vs[i], o), {});
zip(['a', 'b', 'c'], [5, 5, 5]);
//=> {a: 5, b: 5, c: 5}
如果需要生成以下數組:5
Array(3).fill(5);
//=> [5, 5, 5]
添加回答
舉報