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]]
1 Answer 1
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
answered Sep 15, 2022 at 12:08
David
221k42 gold badges248 silver badges338 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-js
arrTempoutside of loops aslet arrTemp = []then putconsole.log(JSON.stringify(arrTemp));outside of loops as well.