可以使用JavaScript中的reduce()函数来实现按对象键值对数组分组。下面是一个示例代码:
const objArray = [ {name: 'Tom', age: 20}, {name: 'Jerry', age: 20}, {name: 'Jack', age: 25}, {name: 'Lucy', age: 22}, {name: 'Lily', age: 25}, ];
const groupedObjArray = objArray.reduce((groupedArray, currentItem) => { const key = currentItem.age; if (!groupedArray[key]) { groupedArray[key] = []; } groupedArray[key].push(currentItem); return groupedArray; }, {});
console.log(groupedObjArray);
输出结果为: { 20: [ {name: 'Tom', age: 20}, {name: 'Jerry', age: 20}, ], 25: [ {name: 'Jack', age: 25}, {name: 'Lily', age: 25}, ], 22: [{name: 'Lucy', age: 22}], }
这个代码将按照“age”属性将原始数组中的对象分组。可以把代码中的“age”替换成其他对象属性,以实现不同的分组方式。
上一篇:按对象键合并对象数组