首页 > 解决方案 > Jquery push key with child array

问题描述

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

标签: jquerymultidimensional-arraypush

解决方案


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


推荐阅读