例:

let arr = [
    {
        situationId: '666666666666666666666',
        cloundClass: '999',
    },
    {
        situationId: '1608655741214162944',
        cloundClass: '123',
    },
    {
        situationId: '1608655741214162944',
        cloundClass: '456',
    },
    {
        situationId: '1608655741214162944',
        cloundClass: '789',
    },
    {
        situationId: '1608655741214162944',
        cloundClass: '000',
    },
    {
        situationId: '666666666666666666666',
        cloundClass: '999',
    },
]
 
处理方法:
let bb = arr.reduce((obj, item) => {
    let find = obj.find((i) => i.situationId === item.situationId);
    let ss = {
        situationId: item.situationId,
        cloundClass: [item.cloundClass]
    };
    find ? find.cloundClass.push(item.cloundClass) : obj.push(ss);
    return obj;
}, []);

reduce处理相同id合并对象内容为数组的更多相关文章

  1. object-assign合并对象

    1. Object.assign() 对于合并对象操作, ECMAScript 6 中提供了一个函数: Object.assign(target, source); 这个方法会将所有可枚举 [1] 的 ...

  2. NDK开发小记录 C++读取java层对象内容

    这是自己NDK开发得小记录,关于C++层读取java层传来的对象内容. 很简单的一个例子, 1.首先在java层定义了一个类NumList: public class NumList { public ...

  3. spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)

    spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象) 它的出现原因: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用 ...

  4. Object.assign方法复制或合并对象

    Object.assign() 方法可以把任意多个的源对象自身的可枚举属性拷贝给目标对象,然后返回目标对象 var obj = { a: 1 }; var copy = Object.assign({ ...

  5. Java中Sting类型对象内容不可改变

    String拥有一个特殊点叫:String对象的内容不可改变!   在调用诸如String对象的replace()等方法时,不是在原Sting对象的基础上改变对象内容,而是创建了一个新的String对 ...

  6. python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变

    函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...

  7. 获取spring的IOC核心容器,并根据id获取对象

    public class Client { /** * 获取spring的IOC核心容器,并根据id获取对象 * ApplicationContext的三个常用实现类 * classPathXmlAp ...

  8. 优雅的重载toString方法,打印对象内容而不是打印内存地址的方法

    如果直接在日志或者System.out.println中打印java对象,会打印这个对象的内存地址,而不是具体内容. 为了便于调试,一般的做法有2种: 1.重写toStrong方法 2.将对象传入JS ...

  9. merge函数:R语言,根据相同的列或ID合并不同的文件

    一般Excel就能实现根据相同的列或ID合并不同的文件,但对于大文件来说,比如几十个G的数据量,用Excel处理,不仅耗时,而且还会使电脑崩溃.R语言的优势就体现在这里了,处理大文件相当快. firs ...

  10. Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)

    我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...

随机推荐

  1. MySQL8.0的下载、安装、配置

    转1: MySQL8.0的下载.安装.配置 MySQL8安装教程(下载.安装.连接.卸载) Navicat Premium 15激活(含注册机)

  2. 解决ubuntu pycharm 中文输入法问题

    参考连接:https://blog.csdn.net/frighting_ing/article/details/122725205

  3. 5. Python 函数

    函数:(方法.功能) 作用:1.提高代码的复用性,2.让代码更简洁 函数命名方法   函数不调用是不会被执行的     def calc(a,b): #形参 #位置参数,必填,否则报错 res = a ...

  4. (已解决)问题:windows下,为THINKPHP配置apache虚拟主机。

    1. 环境和需求 win10_x64,php7,apache24,thinkphp5. 现在,我要用apache给THINKPHP的一个项目设置一个虚拟主机,需要配置. 2. 步骤 a. 首先,找到h ...

  5. 07 从RDD创建DataFrame

    1.pandas df 与 spark df的相互转换 df_s=spark.createDataFrame(df_p) df_p=df_s.toPandas() 2. Spark与Pandas中Da ...

  6. 对synchronized的理解和Spring为什么是单例的

    只有真正理解了Java中对象是什么,才能理解这个关键字是什么意思 字面解释 Java Guide中如此解释: synchronized 关键字解决的是多个线程之间访问资源的同步性,synchroniz ...

  7. JetPack Compose 入门还得是官方

    官方写的真不错! 和那些所谓"教程"比真的简单高效不罗嗦! 所以还得是官方! 使用 Jetpack Compose 更快地打造更出色的应用 https://developer.an ...

  8. 【xUtils框架问题】xUtils继承基类的x.view().inject(this)绑定点击事件@Event无效

    由于看得教程里的xUtils比较老了,不知道什么版本的. 还是使用ViewUtils.inject()进行绑定反射的,使用@OnClick进行点击监听绑定的. 3.9.0版本的xUtils使用: x. ...

  9. Jmeter四、jmeter脚本组成和组件搭配

    一.jmeter脚本开发原则 简单:去除无关的组件,同时能复用的尽量复用. 正确:对脚本或者业务正确性进行必要的判断,不能少也不能多(200) 高效:部分组件仅仅在脚本开发模式使用,在真正生产环境下不 ...

  10. vue创建项目的命令

    一.首先下载node环境 二.全局安装vue-cli cnpm i -g @vue/cli 这里一定要注意是vue/cli,而不是vue-cli 三.新建文件夹,打开cmd命令 1.vue creat ...