统计
  • 建站日期:2021-03-10
  • 文章总数:687 篇
  • 评论总数:723 条
  • 分类总数:10 个
  • 最后更新:12月1日
文章 前端知识

JavaScript将数组中对象按指定字段分组,拆分为多个数组,非常好用!

程序员阿鑫
首页 前端知识 正文


JavaScript将数组中对象按指定字段分组,拆分为多个数组,非常好用!
-程序员阿鑫-带你一起秃头!
-第1
张图片
将数组中的对象数据按照某个属性值进行分组,拆分为多个数组

示例数组结构

let list = [{
      "name": "aa",
      "sex": '0'
    },
    {
      "name": "bb",
      "sex": '1'
    },
    {
      "name": "cc",
      "sex": '0'
    },
    {
      "name": "dd",
      "sex": '1'
    }];

将数组数据按照性别进行分组

function groupBy(arr, fn) {
    let group = {}
    arr.map(item => {
        let type = JSON.stringify(fn(item))
        group[type] =group[type] || []
        group[type].push(item)
    })

    return Object.keys(group).map(item => {
        return group[item]
    })
}
//调用返回值
let res = groupBy(list, function(res) {
    return res.sex
})
//输出结果
console.log(res);

结果数据结构示例

[
    [
        { name: 'aa', sex: '0' }, { name: 'cc', sex: '0' }
    ],
    [
        { name: 'bb', sex: '1' }, { name: 'dd', sex: '1' }
    ]
]

包含的方法 Object.keys(data),返回值为数组
data为对象:返回数组内容为对象的key
obj = { name: ‘aa’, age: ‘18’, sex: 1 }
Object.key(obj) ⇒ [‘name’, ‘age’, ‘sex’]

data为字符串或数组:返回数组内容为下标索引
arr = [‘a’, ‘b’, ‘c’]
str = ‘hello’
Object.keys(arr) ⇒ [‘0’, ‘1’ ,‘2’]
Object.keys(str) ⇒ [‘0’, ‘1’ ,‘2’, ‘3’, ‘4’]

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
鸿蒙工具箱/华为鸿蒙/荣耀MagicUI系统专用优化工具 桌面版
« 上一篇
知识付费分站代理自助下单系统 PHP网站源码 自带多款模板
下一篇 »
为了防止灌水评论,登录后即可评论!
注册登录

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆 注册
社交账号登录

IP地址

热门文章

1
抖音无限礼物模拟小工具分享
2
QQ假红包引流QQ群教程及代码
4
卡QQ永久大会员方法

最新文章

标签