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,
});

1 Answer 1

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

Sign up to request clarification or add additional context in comments.

3 Comments

It's just printing id as "id" instead of value
1st Way will print id as a value but 2nd way doesn't .. please see my last updated answer @user300979
@user300979 now both ways returned id as a value .. please check the updated answer

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.