JavaScript
x
6
1
var curr = data[i],
2
newArray = [],
3
key = curr.Frequency.Type,
4
obj = {key: []};
5
newArray.push(obj);
6
However, this yields an object with a key of “key”! How can I create a new object with a key of the value of the variable key
?
Advertisement
Answer
You can do this:
JavaScript
1
8
1
var curr = data[i],
2
newArray = [],
3
key = curr.Frequency.Type,
4
obj = {};
5
6
obj[key] = [];
7
newArray.push(obj);
8
There’s no way to do it in JavaScript within the object literal itself; the syntax just doesn’t provide for that.
edit — when this answer was written, the above was true, but ES2015 provides for dynamic keys in object initializers:
JavaScript
1
4
1
var curr = data[i],
2
key = curr.Frequency.Type,
3
newArray = [ { [key]: [] } ];
4