Deric
Deric

Reputation: 47

append array to array javascript

i have an empty array and need to append array through a nested for loop.

const arr1=[ [ 1,3 ], [ 5,4 ], [ 8,6, 11 ], [ 15, 19, 12 ] ];
const arr2=[ [21,23],[ 3, 2 ], [ 1,4 ], [  5, 6 ,11 ] ];

const arr3=[];
console.log('Lost assests counts');


for (let i=0;i<arr1.length;++i)
{

    const arrTemp=[]
    arrTemp.push(arr1[i].length)
    
    for (let j=i+1;j<arr2.length;++j){
        
        const intersection = arr2[j].filter(element => arr1[i].includes(element));

        arrTemp.push(intersection.length)
        
        
    }
    console.log(arrTemp);

}

This returns the below output(this is the output of arrTemp inside the loop):

enter image description here

Instead of the above output, Can I have it like the below way?

[[2,1,1,0],[2,1,1],[3,2],[3]]

Upvotes: 0

Views: 2154

Answers (1)

David
David

Reputation: 218808

Did you just want to push the values to arr3? In that case, instead of printing the value within the loop:

console.log(arrTemp);

Push it to the target array in the loop:

arr3.push(arrTemp);

Then after the loop, print the whole thing:

console.log(arr3);

Full example:

const arr1=[ [ 1,3 ], [ 5,4 ], [ 8,6, 11 ], [ 15, 19, 12 ] ];
const arr2=[ [21,23],[ 3, 2 ], [ 1,4 ], [  5, 6 ,11 ] ];

const arr3=[];
console.log('Lost assests counts');


for (let i=0;i<arr1.length;++i)
{

    const arrTemp=[]
    arrTemp.push(arr1[i].length)
    
    for (let j=i+1;j<arr2.length;++j){
        
        const intersection = arr2[j].filter(element => arr1[i].includes(element));

        arrTemp.push(intersection.length)
        
        
    }
    arr3.push(arrTemp); // I changed this

}

console.log(arr3); // I added this

Upvotes: 3

Related Questions