在JavaScript中,如何遍历数组并将这些元素作为键添加到空对象中?
假设我有一个数组和一个空对象
let array = ["a", "b", "c", "d", "e", "f"]
let obj = {}
我正在尝试遍历数组,并将该数组的每个元素添加为值为 0 的对象的键。我该怎么做?我试过了:
for (let i = 0; i < array.length; i++){
for (let key in obj) {
key = array[i]
obj[key] = 0
}
}
我想我想得到的输出是这样的
console.log({obj})
{a: 0, b: 0, c: 0, d: 0, e: 0, f: 0}
回答
for (let key in obj)没有任何意义,因为对象最初是空的 - 根本不会迭代。用
for (let i = 0; i < array.length; i++){
obj[array[i]] = 0;
}
或者,更实用的是,通过将数组映射到条目数组来一次性创建对象:
const obj = Object.fromEntries(array.map(
prop => [prop, 0]
));