提问者:小点点

JavaScript按变量设置对象键


我在JavaScript中构建一些对象,并将这些对象推送到一个数组中,我将要使用的键存储在一个变量中,然后创建我的对象,如下所示:

var key = "happyCount";
myArray.push( { key : someValueArray } );

但是,当我尝试检查每个对象的对象数组时,键是“key”,而不是变量键的值。有没有办法从变量中设置键的值?

为了更好地解释,请拨弄:http://jsfiddle.net/Fr6eY/3/


共3个答案

匿名用户

您需要先创建对象,然后使用[]进行设置。

var key = "happyCount";
var obj = {};

obj[key] = someValueArray;
myArray.push(obj);

2021更新:

ECMAScript 2015(ES6)中引入了计算属性名称功能,允许您以JavaScript对象文字符号动态计算对象属性的名称。

const yourKeyVariable = "happyCount";
const someValueArray= [...];

const obj = {
    [yourKeyVariable]: someValueArray,
}

匿名用户

在ES6中,您可以这样做。

var key = "name";
var person = {[key]:"John"}; // same as var person = {"name" : "John"}
console.log(person); // should print  Object { name="John"}
    var key = "name";
    var person = {[key]:"John"};
    console.log(person); // should print  Object { name="John"}

匿名用户

用这个。

var key = 'a'
var val = 'b'

console.log({[key]:val})

//a:'b'

相关问题