Как динамически добавить свойство к каждому элементу объекта массива в Typescript? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть массив объектов, который передается из родительского компонента, и я хотел бы добавить новое логическое свойство для каждого из объектов в Инициировании дочернего компонента. До сих пор я пробовал:

this.selectedItems.map((item) => {
    return { ...item, newProperty: false };
});

Я также пробовал использовать forEach метод вместо map.

Он добавляет свойство, пока я нахожусь внутри map или forEach методов, но это не сохраняет изменения.

Как я могу сохранить изменения или есть ли другой способ добиться этого?

Ответы [ 2 ]

3 голосов
/ 05 марта 2020

map не изменяет массив. Вместо этого он возвращает новый массив, который является результатом операции вашей карты.

Так что все, что вам нужно сделать, это захватить результат.

const itemsWithNewProperty = this.selectedItems.map((item) => {
    return { ...item, newProperty: false };
});
0 голосов
/ 05 марта 2020

почему бы не использовать forEach?

this.selectedItems.forEach((item) => {
    item.newProperty=false
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...