@Artemio95

Как заменить элемент в массиве объектов?

[
          {
            amount: "300",
            comment: "Пятерочка",
            dayId: "-Mn_9kcozuK98LBnPihZ",
            name: "Магазин",
            id: "-Mn_AzYqJF0Rqesyb_g1",
          },
          {
            amount: "123",
            comment: "123",
            dayId: "-Mn_9kcozuK98LBnPihZ",
            name: "123",
            id: "-Mn_FtCRj7A8SmAGo4hv",
          },
        ];

Есть вот такой массив. Я в форме редактирования поменял данные у какого-то элемента. Как теперь можно изменить текущий массив, изменив объект со старыми данными на новые? Приходит на ум
this.records = this.records.filter(({id}) => id !== this.recordId)
        this.records.push(data)

Где мы сначала убираем по нужному id, а потом просто пушим новый с тем же id, но с новыми данными. Но может есть более элегантный способ?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
this.records.map(entry => entry.id === this.recordId
    ? data
    : entry
);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@holymotion
this.records = this.records.map(entry => entry.id !== this.recordId ? entry : data);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы