将元素项推入对象列表

问题描述 投票:0回答:2

我需要从 for 循环中获得特定格式的输出,这些输出是对象内部以及数组内部的元素。输出应如下所示:

[
  {
   day1: 0,
   day2: 0,
   day3: 0
  }
]

我知道 .push 可能是这里的关键,但我不确定要遵循哪种语法。

解释我想做的事情的最简单方法如下:

 var element = [];

  for (let i = 1; i <= 3; i++) {
    element.push({"day"i: 0});

  }

console.log(element);

javascript arrays object push
2个回答
0
投票
var elements = [];

for (let i = 1; i <= 3; i++) {
  const obj = {};
  obj["day" + i] = 0;
  elements.push(obj);
}

console.log(elements);

输出将是一个数组,其中包含带有“day1”、“day2”和“day3”等键的对象,每个对象都使用值 0 进行初始化。


0
投票

如欺骗所示,要添加动态对象属性,请使用

.push({ ["day" + i]: 0 })

但是现在你要添加 3 个对象,但你只需要 1. 在循环之前创建对象。

var element = [];

var tmpObject = {};

for (let i = 1; i <= 3; i++) {
    tmpObject["day" + i] = 0;
}
element.push(tmpObject);

console.log(element);

© www.soinside.com 2019 - 2024. All rights reserved.