为什么javascript内联对象创建新的添加键不起作用?
我试图创建一个json对象列表为什么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)); 我得到的输
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和uselet
的额外建议。我实际上正在学习Javascript,而且非常初学者。