У меня есть массив 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;
я отредактировал свой вопрос - на самом деле у меня есть данные, поступающие из первого API, и другие данные, поступающие из второго API. мне нужно обновить данные из первого API со вторым API только для определенного массива с соответствующим значением.
Вы хотите скопировать только совпадающие ключи из одного объекта в другой
Если бы вы просто предоставили образцы входных данных и ожидаемые выходные данные, ответ на этот вопрос был бы дан несколько часов назад.
Я предпочитаю шаг за шагом. «Ключом» является использование оператора распространения , чтобы передать все свойства разделу.
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)
действительно не понятно, чего вы пытаетесь достичь