javascript - json数据检查相同的id是否重复

标签 javascript jquery arrays json filter

我有一个 json 数据,其中一个 id 有不同的 color_id。 所以从那里我只想检查相同的 id 是否重复,然后保留第一个

这是我的示例 JSON

var data= [{ "id": "1", "name": "xxx", "age": "22","color_id": "22" },
    { "id": "1", "name": "yyy", "age": "15","color_id": "1" },
    { "id": "5", "name": "zzz", "age": "59","color_id": "22" }];

我想要的输出

var data= [{ "id": "1", "name": "xxx", "age": "22","color_id": "22" },
    { "id": "5", "name": "zzz", "age": "59","color_id": "22" }];

我尝试减少但在那里我发现修改数据结构,所以我不确定我是否会得到我想要的输出。

最佳答案

var data = [{
    "id": "1",
    "name": "xxx",
    "age": "22",
    "color_id": "22"
  },
  {
    "id": "1",
    "name": "yyy",
    "age": "15",
    "color_id": "1"
  },
  {
    "id": "5",
    "name": "zzz",
    "age": "59",
    "color_id": "22"
  }
];

let map = {};
let uniqueEntries = data.filter((el) => map[el.id] ? false : map[el.id] = true);
console.log(uniqueEntries )

说明:

  1. 您创建一个 map ,我们在其中存储 ID。
  2. 然后过滤数组,每次我们找到不在 map 中的条目时,我们都会将其添加到列表中并返回 true。如果列表中已经有它,我们将返回 false 以丢弃该条目。

条件的最后一部分利用了赋值返回指定值这一事实。

关于javascript - json数据检查相同的id是否重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206094/

相关文章:

jquery - jQueryUI 模式的奇怪问题

javascript - MVC 中 session 的客户端计时器

javascript - 如何从父页面访问 iframe 的 javascript 对象?

javascript - jQuery .each() 不更新

python - 如何在 web2py 的 post 请求中拥有一系列单选按钮

c++ - 如果我知道只使用现有元素,我可以在数组开头之前传递一个指针吗?

javascript - 尝试使用 Javascript 数组在 <div> 中显示随机图像

javascript - Codemirror 和 iFrame 问题

javascript - Modinizer 测试颜色输入类型是否可用

javascript -\u001b[1G\u001b[2K> 是什么意思?