【发布时间】:2018-09-06 14:14:28
【问题描述】:
我有一个 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" }];
我尝试了 reduce,但在那里我发现修改了数据结构,所以我不确定我是否会得到我想要的输出。
【问题讨论】:
-
您想如何决定保留哪些记录以及删除哪些记录?
-
@PavelMolchanov 只想保留唯一的 ID。不重复相同的ID。其他值无关紧要。
-
@LemonKazi 看来您的“id”不是主键。如果您可以在端点本身上更改它会更有效。话虽如此,有一些方法可以删除 id 匹配的项目,但是您将如何定义细节?您是否尝试保留所有带有 color_id == 22 的项目,或确保唯一的 ID,但如果发生冲突,我将如何确定保留哪些?那么它会是数组中的第一个实例wins,还是特定的color_id,还是什么?
-
@Fallenreaper 我可以理解,出于这个原因,我只需要 id 其他不需要保留的数据。我最终过滤了数据。
标签: javascript jquery arrays json filter