找回密码
 立即注册

QQ登录

只需一步,快速开始

Erik.Xue 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2024-12-10 17:03  /   查看:146  /  回复:0
有很多小伙伴在开发活字格系统时,基本都少不了接触使用JSON数据,那么对JSON数据的各种操作、整合层出不穷,说白了就是玩数据。


那么有这么一种场景,如果给定一段JSON数组,数组中有多个对象,且对象是有重复,如何快速去重呢?

那么,话不多说,直接进入正题。

1、给定示例数据
  1. [
  2.     {
  3.         "FBILLNO": "111"
  4.     },
  5.     {
  6.         "FBILLNO": "111"
  7.     },
  8.     {
  9.         "FBILLNO": "111"
  10.     },
  11.     {
  12.         "aaa": 1
  13.     },
  14.     {
  15.         "aaa": 1
  16.     }
  17. ]
复制代码


可以看到,数据中有两类对象,都是有重复的,而我们想得到最后的结果是:

  1. [
  2.     {
  3.         "FBILLNO": "111"
  4.     },
  5.     {
  6.         "aaa": 1
  7.     }
  8. ]
复制代码


2、处理思路

对象在数组中,我们没有办法直接使用数组去重函数,因为函数无法触达对象里面的内容。


所以那么我们就借助“字典”,字典有一个特性就是根据键是不可以重复的。

那么我们先将对象一个一个按照字典中的键存放对象属性名,字典中的值对应对象的值。

具体的逻辑如下图:
image.png940119018.png

3、构件新的数组对象

通过循环将对象放入字典中去重后,再创建一个新对象,将去重后的键值再放入新对象中就可以啦。
image.png927762145.png

4、运行效果


image.png145774535.png

具体内容可以参考demo哦~

DistinctObjectArray.fgcc (272.3 KB, 下载次数: 8)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部