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