首页 > 解决方案 > 在循环中填充 Javascript-Object 键/值?

问题描述

我想做这样的事情:

let obj = [];

for(let i=0;i<4;i++) {

// doing some stuff here ...
// and then, finally:

obj[i].words = wordsOfSentence;
}

然而,这给了我一个错误。

无法设置未定义的属性“单词”

现在,我这样解决它:

let obj = [{}, {}, {}, {}];

for(let i=0;i<4;i++) {

// doing some stuff here ...
// and then, finally:

obj[i].words = wordsOfSentence;
}

...但这意味着我必须事先将一个空对象推入数组中?这里的标准/优雅的解决方案是什么?

标签: javascriptarraysloopsobject

解决方案


在存储任何键值对之前,您必须创建一个空白 JSON 对象,然后将 JSON 对象推送到数组中。

let objects = [];
for (let i = 0; i < 4; i++) {
    objects[i] = {};
    objects[i].words = 'wordsOfSentence';  
    objects.push(objects[i]);  

}

console.log(objects);

推荐阅读