在for循环内设置动态键和值[重复]
Posted
技术标签:
【中文标题】在for循环内设置动态键和值[重复]【英文标题】:Set dynamic key and values inside for loop [duplicate] 【发布时间】:2019-01-11 00:19:25 【问题描述】:这似乎是一件基本的事情,但我无法找到哪里出错了。
我希望以这种键值格式输出。
["10":"bob","20":"Tom","30":"Larry"]
我在做什么-
var list = [];
var names = ["Bob","Tom","Larry"];
var ages = ["10", "20", "30"];
for(var i=0; i<names.length; i++)
list.push(ages[i] : names[i])
但我收到了意外的令牌错误。请指导我哪里出错了?
【问题讨论】:
您需要将密钥包含在[]
中以强制执行Computed property names。
你为什么想要那个数据结构?这没什么意义。
【参考方案1】:
要将动态字符串设置为对象的属性,可以使用方括号表示法 (obj[propVariable]
)。所以,只需将一个空对象存入一个变量(var item =
),然后你就可以通过item[propVariable]
来设置它的属性。
var list = [];
var names = ["Bob","Tom","Larry"];
var ages = ["10", "20", "30"];
for(var i=0; i<names.length; i++)
var item = ;
item[ages[i]] = names[i];
list.push(item);
console.log(list);
您可以阅读有关方括号符号here 和here 的更多信息。
【讨论】:
【参考方案2】:要创建动态属性,您需要使用 bracket notation : 请尝试以下操作:
var list = [];
var names = ["Bob","Tom","Larry"];
var ages = ["10", "20", "30"];
for(var i=0; i<names.length; i++)
list.push([ages[i]] : names[i])
console.log(list);
【讨论】:
为什么不赞成这个答案?它实际上工作正常。以上是关于在for循环内设置动态键和值[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Python3基础 使用keys() values()和for循环打印一个字典中的所有键和值
Map集合遍历的四种方式理解和简单使用-----不能for循环遍历
即使在设置 EnableDelayedExpansion [重复] 之后,也无法在批处理文件中的 for 循环内设置变量值