我在JavaScript中构建一些对象,并将这些对象推入一个数组,我将要使用的键存储在一个变量中,然后像这样创建我的对象:

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

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

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


当前回答

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

其他回答

在TypeScript中,它应该看起来像这样

    let title ="Current User";
    type User = {
      [key:string | number | symbol]: any
    };

    let myVar: User = {};

    myVar[ title ] = "App Developer";

    console.log(myVar)// Prints: { Current User:"App Developer"}
var key = "happyCount";
myArray.push( { [key] : someValueArray } );

现实

JS的问题很简单:

{ x: 2 }

与以下内容相同:

{ "x": 2 }

(即使定义了x个变量!)

解决方案

在键的标识符周围添加方括号[]:

var key=“happyCount”;myArray.push({[key]:someValueArray});

(现在关键字var不常用,所以请改用const或let)

太长,读不下去了

let key = "name";
let name= "john";
const obj ={
 id:01
}
obj[key] = name;
console.log(obj); // output will {id:01,name:"john}

使用所示的方括号,它将设置为键

使用这个。

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

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

//a:'b'