У меня есть массив внутри другого массива:
Структура:
First Array
[
{
Second Array
[
{
}
]
}
]
Итак, я хочу заменить весь второй массив новым массивом, который у меня есть, поэтому я пытаюсь сделать это:
this.FirstArray.map(
(myArray) =>
myArray.SecondArray === this.MyNewArray
)
Но это не заменяет мой новый массив, в котором все еще есть старые значения. Что я делаю не так?
не могли бы вы создать некоторые переменные с каким-то значимым содержанием, а не очень расплывчатую, очень неуместную и очень недействительную «Структуру», которую вы опубликовали
Если вы просто заменяете и знаете этот индекс, вы можете просто FirstArray[0] = [...newArray]
Есть разница между ===, == и =. В этом случае вам нужно =



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Обычно метод map() возвращает новый массив.
// 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]]
Вы можете добиться этого, используя оператор распространения и без какого-либо цикла, поскольку вы хотите заменить второй массив новым массивом.
Входной массив :
First Array
[{
Second Array
[{}]
}]
Логика замены newArray на secondArray:
FirstArray[0].secondArray = [ ...newArray ]
Демо :
const firstArray = [{
secondArray: ['alpha', 'beta', 'gamma']
}];
const newArray = ['A', 'B'];
firstArray[0].secondArray = [ ...newArray ];
console.info(firstArray);
this.FirstArray.mapвозвращает новый массив, который ваш код отбрасывает... вы также не заботитесь оmyArrayв каждой итерации, так что, опять же, почему вы вообще используете карту - ой, вы отредактировали