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题库】小程序查看

相关文章
|
9天前
|
存储 前端开发 JavaScript
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
本文介绍了JavaScript变量的声明和使用、标识符的命名规则、如何获取和操作HTML元素,以及JavaScript的鼠标事件处理,通过示例代码展示了这些基础知识点在实际开发中的应用。
24 2
前端基础(二)_JavaScript变量、JavaScript标识符、JavaScript获取元素、JavaScript的鼠标事件
|
1天前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
11 3
|
7天前
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
14 2
|
18天前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素
|
17天前
|
JavaScript 前端开发 索引
|
23天前
|
JavaScript
js 循环数组取值
js 循环数组取值
|
6天前
|
JavaScript 前端开发 C++
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
JavaScript用indexOf()在字符串数组中查找子串时需要注意的一个地方
|
6天前
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
6天前
|
JavaScript 前端开发
JavaScript从二维数组抽取若干元素组成新二维数组
JavaScript从二维数组抽取若干元素组成新二维数组
|
8天前
|
JavaScript 前端开发
用JavaScript编程定义二维数组并初始化,然后输出元素值
用JavaScript编程定义二维数组并初始化,然后输出元素值