Home > Back-end >  Replace nested array for new array
Replace nested array for new array

Time:05-13

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?

CodePudding user response:

This looks like its working but it returns the result which your not capturing:

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

this.FirstArray should now hold your new array

CodePudding user response:

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]]

CodePudding user response:

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

  • Related