#javascript #arrays #javascript-objects
#язык JavaScript #массивы #javascript-объекты
Вопрос:
У меня есть 2 массива объектов:
marketingCarriers: [ { code: "AM" logo: "logo1.png" name: "AEROMEXICO" } ] operatingCarriers: [ { code: "DL" logo: "logo12.png" name: "DELTA" }, { code: "AM" logo: "logo1.png" name: "AEROMEXICO" } ]
Я хочу создать массив, сравнив эти два массива объектов, в которые я помещу уникальные объекты из этих 2 массивов. Таким образом, результат будет:
newArray: [ { code: "DL" logo: "logo12.png" } ]
Каким должен быть этот процесс?
Комментарии:
1. что является уникальным среди всех этих объектов
2. возможно, цикл for внутри цикла for
3. Для чего вы так старались? Где ты застрял?
Ответ №1:
const operators = operatingCarriers.filter(operating =gt; marketingCarriers.some(marketing =gt; marketing.code !== operating.code), ); const hasUniqueCarriers = JSON.stringify(operatingCarriers) !== JSON.stringify(marketingCarriers); {hasUniqueCarriers amp;amp; operators.length gt; 0 amp;amp; ( lt;div className="flight__operating-carrier-info"gt; lt;divgt;{I18n.t('components.flight_info.operated_by')}lt;/divgt; lt;div className="flight__operating-carrier-list"gt; {operators.map(carrier =gt; ( lt;divgt;{carrier.name}lt;/divgt; ))} lt;/divgt; lt;/divgt; )}