1

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,
});
user300979
  • 389
  • 1
  • 4
  • 18

1 Answers1

3

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

Mohamed-Yousef
  • 23,946
  • 3
  • 19
  • 28