首页 > 其他分享 >【JS】对数据分组处理

【JS】对数据分组处理

时间:2023-09-06 21:45:54浏览次数:34  
标签:obj name 处理 gender age value JS 分组

按照“谁”分组,就让这个“谁”作为结果对象的 key,然后把匹配的数据分别放在这些 key 对应的 value 下面

 

<html>
    <head>
        <title>对数据分组处理</title>
    </head>
    <body>
    </body>
    <script>
        const data = [
            {
                name: 'zhangsan',
                gender: 'male',
                age: 18
            },
            {
                name: 'lisi',
                gender: 'male',
                age: 20
            },
            {
                name: 'wangwu',
                gender: 'female',
                age: 19
            },
            {
                name: 'zhaoliu',
                gender: 'female',
                age: 9
            },
            {
                name: 'hahh',
                gender: 'male',
                age: 20
            },
            {
                name: 'heihei',
                gender: 'female',
                age: 19
            },
        ]

        function handleDepartData(data, key) {
            let obj = {}
            data.forEach(item => {
                let value = item[key]
                obj[value] = obj[value] || []
                obj[value].push(item)
            })
            return obj
        }
        const dataHandled = handleDepartData(data, 'age')
        console.log(dataHandled)
    </script>
</html>

按照 age 分组

 

按照 gender 分组

标签:obj,name,处理,gender,age,value,JS,分组
From: https://www.cnblogs.com/zjy4fun/p/17683443.html

相关文章

  • Unity 编辑器资源导入处理函数 OnPostprocessTexture :深入解析与实用案例
    Unity编辑器资源导入处理函数OnPostprocessTexture用法点击封面跳转下载页面简介在Unity中,我们可以使用编辑器资源导入处理函数(OnPostprocessTexture)来自定义处理纹理资源的导入过程。这个函数是继承自AssetPostprocessor类的,通过重写这个函数,我们可以在纹理资源导入完成......
  • Django中JSONField的模糊查询
    项目需求多个条件并联模糊查询 筛选条件中需要使用OR查询于是用Q对象查询先说结果使用字段名__键名__icontains=keyword解决#客户地址表classUserAddress(models.Model):"""用户地址表region所在地区{"address":"详细地址",......
  • 【JS】手写防抖
    防抖分为立即执行版本和非立即执行版本 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>防抖&......
  • fakit: 一个处理fasta序列的小工具 (二)
    上一篇博文中写到出了这个小工具,现在更新到0.2.4了,新增了一些子命令。有seqtk,seqkit等好用的工具珠玉在前,还写这个主要是学习和熟悉rust这门语言的基础语法了,写出来自己玩儿咯。reop:https://github.com/sharkLoc/fakitinstall:cargoinstallfakitusage:fakit:asimplepr......
  • JS性能优化
    JS性能优化一般来说:运算为10^8级,花费时间为一秒。内存管理内存:由可读写单元组成,表示一片可操作空间管理:人为的去操作一片空间的申请、使用和释放内存管理:开发者主动申请空间、使用空间、释放空间管理流程:申请―使用―释放内存泄漏现象内存的泄漏:当对象持续......
  • JS在数据类型前使用“+”的作用
    js在某个数据类型前使用‘+’,这个操作目的是为了将该数据类型转换为Number类型,如果转换失败,则返回NaN; 实际使用例如:+newDate() 返回当前时间戳  参考---https://blog.csdn.net/m0_46893049/article/details/125677006......
  • 视频集中存储/云存储/磁盘阵列EasyCVR平台分组批量绑定/取消设备功能详解
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台视频能力丰富灵活,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频汇聚融合管理平台EasyCVR既具备传统安防视频监控的能力,也具备接入AI智能分......
  • 【异常处理】java: 无法访问org.springframework.boot.SpringApplication
    java:无法访问org.springframework.boot.SpringApplication错误的类文件:/D:/Repository/org/springframework/boot/spring-boot/3.0.5/spring-boot-3.0.5.jar!/org/springframework/boot/SpringApplication.class类文件具有错误的版本61.0,应为52.0请删除该文件......
  • zone.js由入门到放弃之三——zone.js 源码分析【setTimeout篇】
    Delegate是个好东西,看看孙啸达同学对ZoneDelegate的介绍吧,这是他关于zone.js系列文章的第三篇~zone.js系列往期文章zone.js由入门到放弃之一——通过一场游戏认识zone.jszone.js由入门到放弃之二——zone.jsAPI大练兵zone.js源码分析接下来的全是干货,从头到尾,一干到底一点前置:Zon......
  • 小程序中格式化JSON数据中的日期
    小程序中格式化JSON数据中的日期 //假设原始JSON数据为constoriginalJson={name:'JohnDoe',birthdate:'1990-01-01'};//将日期格式化为标准的ISO8601格式constformattedJson={};Object.keys(originalJson).forEach(key=>{if(key==='birthdate......