为什么javascript内联对象创建新的添加键不起作用?

为什么javascript内联对象创建新的添加键不起作用?,javascript,Javascript,我试图创建一个json对象列表finallablobjs,其中键为label,如下所示: var listoptionlabels = ["a", "b", "c"]; var finallabelObjs = []; for(li in listoptionlabels) {finallabelObjs.push({}["label"] = listoptionlabels[li]);} console.log(JSON.stringify(finallabelObjs)); 我得到的输

我试图创建一个json对象列表
finallablobjs
,其中键为
label
,如下所示:

var listoptionlabels = ["a", "b", "c"];
var finallabelObjs = [];
for(li in listoptionlabels) {finallabelObjs.push({}["label"] = listoptionlabels[li]);}


console.log(JSON.stringify(finallabelObjs));

我得到的输出是
[“a”、“b”、“c”]
。我不可能用最少的代码在一行代码中实现这一点。我不想在for循环中创建一个临时对象,然后将其推送到
finallablobjs
列表中。

您可以直接推送一个对象

注意:对于数组中的..不要使用
for,而应使用
for..of
。并始终在
for..in/of
循环中使用
let
const
。 var listoptionlabels=[“a”、“b”、“c”]; var finallabelObjs=[]; 对于(listoptionlabels的li){finallablobjs.push({“label”:li})}
log(JSON.stringify(finallablobjs))类似于?谢谢。好像我想得太多了。这些简单的解决方案。但是
map
对我来说是新事物。
map
同步吗?我的意思是,控制流实际上会等到所有列表元素的迭代完成吗?我来自大数据星火世界,那里的映射操作是异步的。@user3243499是
map()
是同步的。非常感谢您提出的不使用for..in和use
let
的额外建议。我实际上正在学习Javascript,而且非常初学者。