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?
asked Aug 22, 2014 at 11:30
Ebikeneser
2,48413 gold badges63 silver badges121 bronze badges
-
2newArray.set1 = newArray.set1.concat(<other array>)philipp– philipp2014年08月22日 11:32:39 +00:00Commented Aug 22, 2014 at 11:32
4 Answers 4
Use .concat()
var newArray = { "set1": [], "set2": [] };
newArray.set1 = newArray.set1.concat(newSet1);
newArray.set2 = newArray.set2.concat(newSet2);
answered Aug 22, 2014 at 11:39
idmean
15k9 gold badges63 silver badges90 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
You should say
newArray.set1.push(newSet1[0]);
newArray.set1.push(newSet1[1]);
newArray.set2.push(newSet2[0]);
newArray.set2.push(newSet2[1]);
answered Aug 22, 2014 at 11:34
Mritunjay
25.9k7 gold badges57 silver badges71 bronze badges
Comments
newArray.set1 = newSet1;
newArray.set2 = newSet2;
answered Aug 22, 2014 at 11:38
u_mulder
54.8k5 gold badges54 silver badges72 bronze badges
Comments
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
answered Aug 22, 2014 at 11:40
cracker
4,9043 gold badges26 silver badges41 bronze badges
Comments
lang-js