怎么判断每项orders里的id是否重复

发布于 2022-09-13 00:53:49 字数 252 浏览 12 评论 0

怎么判断每项orders里的id是否重复

[{
  id:'1',
  name:1,
  orders:[
    {
      id:'2',
      name:1,
    },
    {
      id:'2',
      name:1,
    }
  ]
},
{
  id:'1',
  name:1,
  orders:[
    {
      id:'2',
      name:1,
    }
  ]
}]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧情别恋 2022-09-20 00:53:49
let list = [{
  id:'1',
  name:1,
  orders:[
    {
      id:'2',
      name:1,
    },
    {
      id:'2',
      name:1,
    }
  ]
},
{
  id:'1',
  name:1,
  orders:[
    {
      id:'2',
      name:1,
    }
  ]
}];

list.every(item=>{
let ids =item.orders.map(order=>order.id)
return new Set(ids).size==ids.length
});

结果 false

欲拥i 2022-09-20 00:53:49
const data = [
  {
    id: "1",
    name: 1,
    orders: [
      {
        id: "2",
        name: 1,
      },
      {
        id: "2",
        name: 1,
      },
    ],
  },
  {
    id: "1",
    name: 1,
    orders: [
      {
        id: "2",
        name: 1,
      },
    ],
  },
];

const result = [];

// 数组项是否重复
const isRepeat = (arr) => {
  const hash = {};
  const result = arr.some((item) => {
    if (hash[item]) {
      return true;
    } else {
      hash[item] = true;
      return false;
    }
  });
  return result;
};

data.forEach((item, index) => {
  result.push(isRepeat(item.orders));
});

// [ true, false ] true表示有重复项,false表示没有重复项
console.log(result);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文