Ebikeneser
Ebikeneser

Reputation: 2364

Push data into JavaScript object

I have the following JavaScript object -

var newArray = { "set1": [], "set2": [] };

I am trying to push new data in this like -

newArray.set1.push(newSet1);
newArray.set2.push(newSet2);

Where newSet1 and newSet2 is equal to -

[{"test1","test1"},{"test2","test2"}] & [{"test3","test3"},{"test4","test4"}]

However when this is getting pushed in it is creating additional square brackets with the end result looking like -

{ "set1": [[{"test1","test1"},{"test2","test2"}]], "set2": [[{"test3","test3"},{"test4","test4"}]] }

When I actually need -

{ "set1": [{"test1","test1"},{"test2","test2"}], "set2": [{"test3","test3"},{"test4","test4"}] }

I tried setting my newArray as blank like -

var newArray = { "set1": '', "set2": '' };

However this did not work. How can I adjust it to accept the sets without adding additional brackets?

Upvotes: 0

Views: 72

Answers (4)

idmean
idmean

Reputation: 14865

Use .concat()

var newArray = { "set1": [], "set2": [] };
newArray.set1 = newArray.set1.concat(newSet1);
newArray.set2 = newArray.set2.concat(newSet2);

Upvotes: 2

cracker
cracker

Reputation: 4906

Use Like

var newArray = { "set1": [], "set2": [] };
var arr1 = new Array ("A", "B", "C");
var arr2 = new Array (1, 2, 3);
var multiArr = new Array (arr1, arr2);
    // or
var multiArr = [arr1, arr2];
    // or
var multiArr = [["A", "B", "C"], [1, 2, 3]];

 // you can access the elements of the array by zero-based indices
var firstRow = multiArr[0]; // same as arr1
var secondRowFirstCell = multiArr[1][0]; // 1
newArray.set1.push(multiArr[0]); //so, you need to use this with
newArray.set1.push(multiArr[1]); //so, you need to use this with
console.log(newArray);

DEMO

Upvotes: 0

u_mulder
u_mulder

Reputation: 54831

newArray.set1 = newSet1; newArray.set2 = newSet2;

Upvotes: 0

Mritunjay
Mritunjay

Reputation: 25882

You should say

newArray.set1.push(newSet1[0]);
newArray.set1.push(newSet1[1]);
newArray.set2.push(newSet2[0]);
newArray.set2.push(newSet2[1]);

Upvotes: 0

Related Questions