简体   繁体   中英

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):

在此处输入图像描述

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

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM