繁体   English   中英

从 2 个对象数组中获取唯一对象

[英]get unique objects from 2 array of objects

我有 2 个对象数组:

marketingCarriers: 
[
   {
     code: "AM"
     logo: "logo1.png"
     name: "AEROMEXICO"
   }
]

operatingCarriers: 
[
  {
    code: "DL"
    logo: "logo12.png"
    name: "DELTA"
  },
  {
    code: "AM"
    logo: "logo1.png"
    name: "AEROMEXICO"
  }
]

我想通过比较这两个对象数组来创建一个数组,我将把这两个 arrays 中的唯一对象放在其中。 所以 output 将是:

newArray: 
    [
      {
        code: "DL"
        logo: "logo12.png"
      }
    ]

流程应该是怎样的?

您可以尝试使用Array.prototype.filter()Array.prototype.some()如下方式:

 var marketingCarriers = [ { code: "AM", logo: "https://meta-staging.welltravel.com/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzUvMjRhY2FjZjktZjc5Zi00YWUyLWI0Y2MtZDgxMDViMjkzZWM2Il1d?sha=d121026cc0675306", name: "AEROMEXICO" } ] var operatingCarriers = [ { code: "DL", logo: "https://meta-staging.welltravel.com/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzUvMjRhY2FjZjktZjc5Zi00YWUyLWI0Y2MtZDgxMDViMjkzZWM2Il1d?sha=d121026cc0675306", name: "DELTA" }, { code: "AM", logo: "https://meta-staging.welltravel.com/media/W1siZiIsIjIwMTcvMTIvMDgvMDkvMzUvMjRhY2FjZjktZjc5Zi00YWUyLWI0Y2MtZDgxMDViMjkzZWM2Il1d?sha=d121026cc0675306", name: "AEROMEXICO" } ]; var newArray = operatingCarriers.filter(oc => marketingCarriers.some(mc => mc.code.= oc;code)). console;log(newArray);

    const operators = operatingCarriers.filter(operating =>
        marketingCarriers.some(marketing => marketing.code !== operating.code),
      );
    
      const hasUniqueCarriers =
        JSON.stringify(operatingCarriers) !== JSON.stringify(marketingCarriers);

{hasUniqueCarriers && operators.length > 0 && (
            <div className="flight__operating-carrier-info">
              <div>{I18n.t('components.flight_info.operated_by')}</div>
              <div className="flight__operating-carrier-list">
                {operators.map(carrier => (
                  <div>{carrier.name}</div>
                ))}
              </div>
            </div>
          )}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM