получите уникальные объекты из 2 массивов объектов

#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;  )}