我在JavaScript中构建一些对象,并将这些对象推入一个数组,我将要使用的键存储在一个变量中,然后像这样创建我的对象:
var key = "happyCount";
myArray.push( { key : someValueArray } );
但当我尝试检查每个对象的对象数组时,键是“key”而不是变量键的值。有没有办法从变量中设置键的值?
为了更好地解释,请拨弄:http://jsfiddle.net/Fr6eY/3/
我在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'