84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我正在 JavaScript 中构建一些对象并将这些对象推入数组中,我将要在变量中使用的密钥存储在变量中,然后创建我的对象,如下所示:
var key = "happyCount"; myArray.push( { key : someValueArray } );
但是当我尝试检查每个对象的对象数组时,键是 "key" 而不是变量键的值。有什么方法可以从变量中设置键的值吗?
"key"
小提琴以获得更好的解释: http://jsfiddle.net/Fr6eY/3/
在 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"}
其名为计算属性名称,它使用括号表示法(方括号)[]
[]
示例:{ [variableName] : someValue }
{ [variableName] : someValue }
对于 ES5,尝试这样的操作
var yourObject = {}; yourObject[yourKey] = "yourValue"; console.log(yourObject );
示例:
var person = {}; var key = "name"; person[key] /* this is same as person.name */ = "John"; console.log(person); // should print Object { name="John"}
您需要先创建对象,然后使用[]设置它。
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 中,你可以这样做。
其名为计算属性名称,它使用括号表示法(方括号)
实现[]
示例:
{ [variableName] : someValue }
对于 ES5,尝试这样的操作
示例:
您需要先创建对象,然后使用
[]
设置它。2021 年更新:
计算属性名称功能在 ECMAScript 2015 (ES6) 中引入,它允许您以 JavaScript 对象文字表示法动态计算对象属性的名称。