Как найти массив с определенным значением и сопоставить его с другим массивом в Angular 8

У меня есть массив this.data с массивом платформ и платформы имеют массив sectionlist ( sectionList представляет собой массив из нескольких значений, таких как sectionName , sectionid, sectionVal и т. д.)

Мне нужно сопоставить новое значение массива (this.newSectionList) со старым sectionList для определенного идентификатора раздела.

Я могу сопоставить каждое значение в sectionList следующим образом

this.data.platforms.find(a => a.platformId === platformId).sectionList.find(f => f.sectionid === this.sectionid).sectionName = this.newSectionList.sectionName;

this.data.platforms.find(a => a.platformId === platformId).sectionList.find(f => f.sectionid === this.sectionid).sectionVal = this.newSectionList.sectionVal;

Вместо этого я хочу сопоставить весь sectionList с this.newSectionList . Какой самый простой способ? Этот синтаксис ниже неверен, но как мне этого добиться?

this.data.platforms.find(a => a.platformId === platformId).sectionList.find(f => f.sectionid === this.sectionid) = this.newSectionList;

действительно не понятно, чего вы пытаетесь достичь

Adrian Brand 11.04.2023 04:44

я отредактировал свой вопрос - на самом деле у меня есть данные, поступающие из первого API, и другие данные, поступающие из второго API. мне нужно обновить данные из первого API со вторым API только для определенного массива с соответствующим значением.

Margerine 11.04.2023 04:51

Вы хотите скопировать только совпадающие ключи из одного объекта в другой

Gokul 11.04.2023 07:23

Если бы вы просто предоставили образцы входных данных и ожидаемые выходные данные, ответ на этот вопрос был бы дан несколько часов назад.

Robby Cornelissen 11.04.2023 08:00
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
4
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я предпочитаю шаг за шагом. «Ключом» является использование оператора распространения , чтобы передать все свойства разделу.

const platform=this.data.platforms.find(a => a.platformId === platformId)
const section=platform?
        platform.sectionList.find(f => f.sectionid ===this.sectionid):null

if (section)
   section = {...newSection}
else
   platform.sectionList.push(newSection)

Другие вопросы по теме