【问题标题】:JavaScript array of objectJavaScript 对象数组
【发布时间】:2016-04-22 01:44:58
【问题描述】:

我写了一段打字稿代码。

CreateArray():any []
 {
  console.log("start");
    var array = [];
    var nameObjects = ["dave", "mike", "dave1", "mike1"];
       for (var j = 0; j < nameObjects.length; j++) {
          for (var i = 1; i < 9; i++) {
                array.push({
                    "hour": i, 
                    nameObjects
                })
            }
        }
        console.log(array);
        return array;
}

输出将是这样的:

{
hour: 1,
nameObjects :{"dave", "mike", "dave1", "mike1"}
},

 {
 hour: 2,
 nameObjects :{"dave", "mike", "dave1", "mike1"} 
 }

.....

{hour: 9,
  nameObjects :{"dave", "mike", "dave1", "mike1"} }
 }

我希望输出是这样的:

 {
hour: 1,
 dave:0,
 mike:0, 
 dave1:0,
 mike1:0
},
{
hour: 2,
 dave:0,
 mike:0, 
 dave1:0,
 mike1:0
},

我试图修复它,但我不能。请帮助解决这个问题

【问题讨论】:

  • {} 中的所有内容都算作单个对象,而不是数组

标签: javascript arrays typescript


【解决方案1】:

你的意思是这样吗?

console.log("start");
var array = [];
var nameObjects = ["dave", "mike", "dave1", "mike1"];

for (var i = 1; i < 9; i++) {
    var item = {
        hour: i
    };

    for (var j = 0; j < nameObjects.length; j++) {
        item[nameObjects[j]] = 0;
    }       
    array.push(item);
}

console.log(array);

[Playground]

【讨论】:

  • Martin Vseticka,是的,这就是我想要的。你是当时的风云人物
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多