js处理数组分类

const obj = [{"groupingType": "1","remark": "梨花带雨","totalRmbMoney": 7,"kyeGroupingType": "广州一组"},{"groupingType": "2","remark": "99","totalRmbMoney": 0,"kyeGroupingType": "广州二组"},{"groupingType": "2","remark": "重生之我百亿富豪","totalRmbMoney": 66,"kyeGroupingType": "广州二组"},{"groupingType": "2","remark": "1","totalRmbMoney": 99,"kyeGroupingType": "广州二组"},{"groupingType": "3","remark": "哈韩","totalRmbMoney": 12,"kyeGroupingType": "佛山一组"},{"groupingType": "3","remark": "大表姐","totalRmbMoney": 0,"kyeGroupingType": "佛山一组"},{"groupingType": "3","remark": "梨花带雨","totalRmbMoney": 0,"kyeGroupingType": "佛山一组"},{"groupingType": "4","remark": "666","totalRmbMoney": 0,"kyeGroupingType": "广州一组"},{"groupingType": "4","remark": "佛山一个","totalRmbMoney": 0,"kyeGroupingType": "广州一组"},{"groupingType": "4","remark": "大表哥","totalRmbMoney": 78,"jobType": "1","kyeGroupingType": "广州一组"}
]const groupBy = (array: any, key: any) => {return array.reduce((result: any, currentItem: any) => {// 使用 key 函数如果有定义,否则直接获取属性值const groupKey = typeof key === 'function' ? key(currentItem) : currentItem[key];// 初始化分类数组if (!result[groupKey]) {result[groupKey] = [];}// 将当前项推入分类数组result[groupKey].push(currentItem);return result;}, {});};const newobj = groupBy(obj, 'kyeGroupingType')console.log('newobj', newobj)

输出结果如图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/282372.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯】第15届蓝桥杯青少组stema选拔赛C++中高级真题答案(20240310)

一、选择题 第 1 题 第 2 题 表达式1000/3的结果是( A )。 A.333 B.333.3 C.334 D.333.0 第 3 题 下列选项中,判断a等于1并且b等于1正确的表达式是( B )。 A.!((a!1)&&(b!1)) B.!((a!1)||(b!1)) C.!(a1)&&(b1) D.(a1)&&(b1) 【解析】 A…

测试用例设计指南

软件测试设计是测试过程中重要的测试活动,怎么样设计测试用例能提高我们测试的效率和质量,从以下几个方面做了简单的讲解。 1 测试用例设计原则 测试用例设计的基本原则包括:有效性、清晰性、可复用性、可维护性、完整性、兼容性、易操作性…

【数据可视化】Echarts官方文档及常用组件

个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. Echarts官方文档介绍3. ECharts基础架构及常用术语3.1 ECharts的基础架构3.2 ECharts的常用术语3.2.1 ECharts的基本名词3.2.2 ECharts的图表名词 4. 直角坐标系下的网格及坐标轴4.1 直角坐标系下的网格4.2…

360企业安全浏览器兼容模式显示异常某个内容不显示 偶发现象 本地无法复现情况js

360企业安全浏览器兼容模式显示异常 ,现象测试环境频发 ,本地连测试无法复现,线上反馈问题。 出现问题的电脑为windows且使用360企业安全浏览器打开兼容模式可复现 复现过程: 不直接点击超链接跳转页面 ,登录后直接通…

vue3+threejs新手从零开发卡牌游戏(三):尝试在场景中绘制一张卡牌

首先我们思考下,一张最简单的卡牌有哪些东西构成:卡牌样式和卡牌数据。一张卡牌有正面和背面,有名称、属性、种族、攻击力等数据,我们先不考虑数据,先尝试在场景中绘制一张卡牌出来。 一、寻找卡牌素材 为了简单我直…

【考研数学】如何打牢基础?刷1800/1000/880/660还是教材?

如果想要用课后题来复习的话,可以从网上找一份复习题单来对照着做,这样可以把一些非重点内容忽略过去,提高我们复习的效率。 如果备考考研数学的话,专门的练习册更好一些。因为课后习题同类型的题目比较少,对于总结能…

持续领跑!腾讯云NDR再获Gartner®认可

近日,国际研究机构Gartner发布《Competitive Landscape:Network Detection and Response》(以下简称“报告”),腾讯被列为NDR案例厂商(NDR for SaaS and Cloud Identity Applications)。 腾讯云…

需求:JSON数据显示null值或者不显示null值

使用hutool的工具类 import cn.hutool.json.JSON; import cn.hutool.json.JSONConfig; import cn.hutool.json.JSONUtil;public class Main {public static void main(String[] args) {String sss "{\"1\":\"a\",\"2\":null}";// 不…

【vue-小知识】var、let 和 const之间的区别

文章目录 结论1、重复定义变量名var:允许重复定义变量名let和const:不可以重复定义变量名 2、修改值var:允许修改值let:允许修改值const:不允许修改值,会报错 3、变量提升var : 支持变量提升let和const&…

程序猿成长之路之番外篇——矩阵算法

今天在复习线性代数知识的过程中,用java语言简单实现了一下矩阵算法。 数学知识回顾 1.什么是矩阵 在数学领域,矩阵就像一个表格,将数据排放进去,形成一个矩形。我们习惯用一个大括号把矩阵内的数据包括进来。 1.矩阵 在数学领域…

Linux系统部署DolphinScheduler任务调度系统并实现无公网IP远程访问

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内…

黑马现有java课程框架及其功能梳理

目录 高并发相关提高通信效率Netty作用:哪些框架使用它: ChannelChannelHandler 和 ChannelPipelineEventLoop 和 EventLoopGroup**涉及的名词解释:**NIOSocketNginx 高并发相关 主要用来解决IO密集型程序(大量文件读写&#xff…

python矢量算法-三角形变化寻找对应点

1.算法需求描述 现有随机生成的两个三角形A与B,在三角形A中存在Pa,使用算法计算出三角形B中对应的点Pb 2.python代码 import numpy as np # 计算三角形A的面积 def area_triangle(vertices): return 0.5 * np.abs(np.dot(vertices[0] - vertices[…

大数据架构设计

本博客地址:https://security.blog.csdn.net/article/details/136657478 一. 基本概念 1、解决传统数据架构无法及时响应用户请求的常用解决方法: ● 增加异步处理队列,通过工作处理层批量处理异步处理队列中的数据修改请求。 ● 建立数据库…

策略分析是什么?一文说清策略分析的方方面面!附10款策略分析必备模板!

在日益激烈的商业竞争环境中,有效的策略分析不仅能帮助企业全面了解自身的优势与劣势,同时也能提供决策制定的关键依据。一个优质的策略分析报告能帮助企业从宏观与微观两个层面洞察市场动态,掌握竞争对手信息,以及制定未来的战略…

C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间. 时间复杂度 算法中的基本操作的执行次数,为算法的时间复杂度. 只需要大概执行次数,我们使用大O的渐进表示法。(看谁对数学表达式的影响最大) 空间复杂度 是…

2.Redis有五种主要的数据类型

Redis有五种主要的数据类型 String(字符串):String类型是最简单的数据类型,可以存储任意类型的数据,例如整数、浮点数、字符串等。String类型支持一些基本的操作,如设置值、获取值、增减值等。 Hash&#…

杂记8---多线激光雷达与相机外参标定

背景:本人开源的标定程序,提供大家参考学习 基于棋盘格的多线激光雷达和鱼眼/针孔模型相机外参标定的程序 前言 标定数据,只需要一个棋盘格标定板。把标定板放置lidar 与camera 共视区域,拜拍几个pose进行采集。 基于简谐原则…

webpack5零基础入门-12搭建开发服务器

1.目的 每次写完代码都需要手动输入指令才能编译代码,太麻烦了,我们希望一切自动化 2.安装相关包 npm install --save-dev webpack-dev-server 3.添加配置 在webpack.config.js中添加devServer相关配置 /**开发服务器 */devServer: {host: localhos…

布隆过滤器原理介绍和典型应用案例

整理自己过去使用布隆过滤器的应用案例和理解 基本介绍 1970年由布隆提出的一种空间效率很高的概率型数据结构,它可以用于检索一个元素是否在一个集合中,由只存0或1的位数组和多个hash算法, 进行判断数据 【一定不存在或者可能存在的算法】 如果这些…