Reputation: 437
I have a main array
var mainArray = new Array();
I have a key(id) and sub array with key pairs "foo" and "zulu"
var id = 2;
var bar = 14;
var alpha = 88;
I want to push this into the main array structured as so
id => array(
"foo" => bar,
"zulu" => alpha
)
I tried this but it doesn't add the parent key, only the child array
mainArray.push(id = {
"foo" : bar,
"zulu" : alpha,
});
Upvotes: 1
Views: 2753
Reputation: 24001
Two ways you can choose one up to your need
1st Way: By using var mainArray = {};
as an object and mainArray[id]
to set a key
var mainArray = {};
var id = 2;
var bar = 14;
var alpha = 88;
mainArray[id] = {
"foo" : bar,
"zulu" : alpha
};
console.log(mainArray);
console.log(mainArray[id]);
2nd Way: By using .push({ [id] : { } })
With [id]
id will print as a value
var mainArray = [];
var id = 2;
var bar = 14;
var alpha = 88;
mainArray.push({
[id] : {
"foo_1" : bar,
"zulu_1" : alpha
}
});
console.log(mainArray);
console.log(mainArray[0][id]); // use 1,2 ,3.... instead of 0
Ref: How can I add a key/value pair to a JavaScript object? And JavaScript set object key by variable
Upvotes: 3