javascript字典的键不作为值存储,而是作为变量名存储 [英] Key for javascript dictionary is not stored as value but as variable name

查看:113
本文介绍了javascript字典的键不作为值存储,而是作为变量名存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个类似的字典对象

I'm trying to create a dictionary object like so

var obj = { varName : varValue };

我期待的是,如果 varName ='foo',obj应该是 {'foo','some value'} 然而我看到的是 {varName,'some value' } 未使用变量的值,而是使用变量名作为键。如何使用变量值作为键?

What I'm expecting is if varName='foo', the obj should be {'foo', 'some value' } however what I see is {varName, 'some value'} the value of variable is not being used but a variable name as a key. How do I make it so that varible value is used as key?

推荐答案

试试这样:

var obj = {};
obj[varName] = varValue;

您无法在旧Javascript中使用动态键初始化对象。 var obj = {varName:varValue}; 相当于 var obj = {varName:varValue}; 。这是Javascript解释的方式。

You can't initialize objects with 'dynamic' keys in old Javascript. var obj = { varName : varValue }; is equivalent to var obj = { "varName" : varValue };. This is how Javascript interprets.

然而,新的ECMAScript支持 计算属性名称 ,您可以这样做:

However new ECMAScript supports computed property names, and you can do:

var obj = { [varName]: varValue };

这篇关于javascript字典的键不作为值存储,而是作为变量名存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆