'Replace nested array for new array

I have an array inside another array:

Structure:

First Array
[
{
Second Array
   [
     {
     }
   ]
}
]

So I want to replace all Second Array for new array that I have so I try this:

this.FirstArray.map(
          (myArray) =>
            myArray.SecondArray === this.MyNewArray
        )

But this is not replacing for my new array it still having old values. What am I doing wrong?



Solution 1:[1]

You can achieve that by using spread operator and without any loop as you want to replace second array with the new array.

Input array :

First Array
[{
  Second Array
   [{}]
}]

Logic to replace newArray with secondArray :

FirstArray[0].secondArray = [ ...newArray ]

Demo :

const firstArray = [{
    secondArray: ['alpha', 'beta', 'gamma']
}];

const newArray = ['A', 'B'];

firstArray[0].secondArray = [ ...newArray ];

console.log(firstArray);

Solution 2:[2]

Normally, the map() method will return a new array.

// Assume that your nested array looks like so:
let nestedArray = [
    ["A", "B", "C"],
    ["E", "F", "G"]
]

// Assume that this is the new array
const newArray = [1, 2, 3]

nestedArray = nestedArray.map(el => newArray);

// expected output: nestedArray [[1, 2, 3], [1, 2, 3]]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Hanry