在 JavaScript 中,如何遍历数组并将这些元素作为键添加到空对象中?

Noa*_*h M 0 javascript arrays object

假设我有一个数组和一个空对象

let array = ["a", "b", "c", "d", "e", "f"]
let obj = {}
Run Code Online (Sandbox Code Playgroud)

我正在尝试遍历数组,并将该数组的每个元素添加为值为 0 的对象的键。我该怎么做?我试过了:

  for (let i = 0; i < array.length; i++){
    for (let key in obj) {
      key = array[i]
      obj[key] = 0
    }
  }
Run Code Online (Sandbox Code Playgroud)

我想我想得到的输出是这样的

console.log({obj})

{a: 0, b: 0, c: 0, d: 0, e: 0, f: 0}
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

for (let key in obj)没有任何意义,因为对象最初是空的 - 根本不会迭代。用

  for (let i = 0; i < array.length; i++){
    obj[array[i]] = 0;
  }
Run Code Online (Sandbox Code Playgroud)

或者,更实用的是,通过将数组映射到条目数组来一次性创建对象:

const obj = Object.fromEntries(array.map(
  prop => [prop, 0]
));
Run Code Online (Sandbox Code Playgroud)