var curr = data[i],
newArray = [],
key = curr.Frequency.Type,
obj = {key: []};
newArray.push(obj);
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:
var curr = data[i],
newArray = [],
key = curr.Frequency.Type,
obj = {};
obj[key] = [];
newArray.push(obj);
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:
var curr = data[i],
key = curr.Frequency.Type,
newArray = [ { [key]: [] } ];