js将数组中相同的元素进行分组 必看

简介: js将数组中相同的元素进行分组 必看
function sortClass(sortData){
  const groupBy = (array, f) => {
    let groups = {};
    array.forEach((o) => {
      let group = JSON.stringify(f(o));
      groups[group] = groups[group] || [];
      groups[group].push(o);
    });
    return Object.keys(groups).map((group) => {
      return groups[group];
    });
  };
  const sorted = groupBy(sortData, (item) => {
    return item.name; // 返回需要分组的对象
  });
  return sorted;
};
var data=[
  {id:1,  name:'小明',type:'分类'},
  {id:2,  name:'大明',type:'分钱'},
  {id:3,  name:'中明',type:'分兵'},
  {id:4,  name:'小明',type:'分分'},
  {id:5,  name:'雷明',type:'分兵'},
  {id:6,  name:'小明',type:'分兵'},
  {id:7,  name:'出明',type:'分钱'},
  {id:8,  name:'中明',type:'分钱'},
  {id:9,  name:'出明',type:'分分钱'},
  {id:10,  name:'雷明',type:'分分钱'},
]
sortClass(data)

返回想要的结果

扫码获取 1000+条 前端面试题 收藏以后面试用得上


WX搜索 【MST题库】小程序查看

相关文章
|
2月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
2月前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
3月前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
56 2
|
3月前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
56 3
|
3月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
106 4
|
3月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
59 4
|
3月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
65 1
|
3月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
38 5
|
3月前
|
JavaScript 前端开发 索引
探索JavaScript数组:基础
探索JavaScript数组:基础
26 3
|
3月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
93 1