码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 方法:js 数组对象根据多个字段进行分类


    这里举个例子是根据两个字段分组,多个的话稍微加个判断就能用

    例:根据id和groupname进行分类,代码如下

    1. var arr = [
    2. { "id": "1", "groupname": "值1", "value": "11" },
    3. { "id": "1", "groupname": "值1", "value": "12" },
    4. { "id": "1", "groupname": "值1", "value": "13" },
    5. { "id": "2", "groupname": "值1", "value": "22" },
    6. { "id": "2", "groupname": "值1", "value": "23" },
    7. { "id": "2", "groupname": "值1", "value": "24" },
    8. { "id": "2", "groupname": "值1", "value": "25" },
    9. { "id": "3", "groupname": "值2", "value": "33" },
    10. { "id": "4", "groupname": "值2", "value": "44" },
    11. { "id": "4", "groupname": "值2", "value": "45" },
    12. { "id": "5", "groupname": "值3", "value": "55" },
    13. { "id": "6", "groupname": "值3", "value": "66" }
    14. ];
    15. var map = [
    16. {
    17. id: arr[0].id,
    18. groupname: arr[0].groupname,
    19. item: [arr[0]],
    20. }
    21. ]
    22. for (var i = 1; i < arr.length; i++) {
    23. let bool = map.some((it)=>{
    24. if((arr[i].id == it.id) && (arr[i].groupname == it.groupname)){
    25. it['item'].push(arr[i])
    26. }
    27. return ((arr[i].id == it.id) && (arr[i].groupname == it.groupname))
    28. })
    29. if(!bool){
    30. map.push({
    31. id: arr[i].id,
    32. groupname: arr[i].groupname,
    33. item: [arr[i]],
    34. })
    35. }
    36. }
    37. console.log(map);

    结果如下

     

  • 相关阅读:
    StoneDB顺利通过中科院软件所 2023 开源之夏 结项审核
    c# 异步进阶————channel [一]
    Python获取列表list中的非零数据、第一个非零元素、最后一个非零元素
    蓝牙技术|蓝牙在物联网产品上的功能,特别是苹果Find My中的应用
    使用lighttpd搭建轻量级web服务器详解
    从大龄程序员现状聊聊出路
    14 似然比检验
    Multus 多网卡方案:IPVLAN 模式
    计算机网络全篇知识学习打卡
    微服务—RabbitMQ高级(业务在各方面的可靠性)
  • 原文地址:https://blog.csdn.net/baidu_38730364/article/details/126462011
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号