Techdive
Techdive

Reputation: 1043

How to populate all the array values to a single index in javascript

I have an array that has values at two indexes and i want to populate the values of two indexes into one index probably in a different array.

this.nodesObjResultSingular =  (2) [Array(6), Array(6)]

this.nodesObjResultSingular = [
[
    {sets: Array(1), size: 12},
    {sets: Array(1), size: 12},
    {sets: Array(1), size: 12},
    {sets: Array(2), size: 2},
    {sets: Array(2), size: 2},
    {sets: Array(2), size: 2}
],
[{sets: Array(1), size: 12},
{sets: Array(1), size: 12},
{sets: Array(1), size: 12},
{sets: Array(2), size: 2},
{sets: Array(2), size: 2},
{sets: Array(2), size: 2}]
];

How can I get the following ?

finalVenn = // all the 12 values of this.nodesObjResultSingular.

Upvotes: 2

Views: 468

Answers (2)

RobG
RobG

Reputation: 147453

If you have an unknown number if arrays, you can use reduce with concat:

let data = [
[{sets: Array(1), size: 12},{sets: Array(1), size: 12},{sets: Array(1), size: 12},{sets: Array(2), size: 2},{sets: Array(2), size: 2},{sets: Array(2), size: 2}],
[{sets: Array(1), size: 12},{sets: Array(1), size: 12},{sets: Array(1),size: 12},{sets: Array(2), size: 2},{sets: Array(2), size: 2},{sets: Array(2), size: 2}]];

var merged = data.reduce((acc, arr) => acc.concat(arr), []);
console.log(merged);

Upvotes: 1

Ashish Ranjan
Ashish Ranjan

Reputation: 12960

Use spread operator to concat them. like:

finalVenn = [...this.nodesObjResultSingular[0], ...this.nodesObjResultSingular[1]]

Or could also use Array.concat()

finalVenn = this.nodesObjResultSingular[0].concat(this.nodesObjResultSingular[1])

If you have multiple indeces to concat then use:

var multipleArr = [[1], [2, 3], [4, 5, 6 ]]
var res = [].concat.apply([], multipleArr)
console.log(res)

Upvotes: 3

Related Questions