以下是一个按特定顺序在数组中对 JavaScript 对象进行分组的示例代码:
// 创建一个包含对象的数组
var arr = [
{name: 'John', age: 28, group: 'A'},
{name: 'Jane', age: 32, group: 'B'},
{name: 'Bob', age: 25, group: 'A'},
{name: 'Alice', age: 35, group: 'C'}
];
// 定义分组顺序
var groupOrder = ['A', 'B', 'C'];
// 创建一个空对象,用于存储分组结果
var groupedObj = {};
// 遍历分组顺序数组,为每个分组创建一个空数组
groupOrder.forEach(function(group) {
groupedObj[group] = [];
});
// 遍历原始数组,将对象按照分组顺序添加到对应的数组中
arr.forEach(function(obj) {
groupedObj[obj.group].push(obj);
});
// 打印分组结果
console.log(groupedObj);
输出结果为:
{
A: [
{name: 'John', age: 28, group: 'A'},
{name: 'Bob', age: 25, group: 'A'}
],
B: [
{name: 'Jane', age: 32, group: 'B'}
],
C: [
{name: 'Alice', age: 35, group: 'C'}
]
}
在这个示例中,我们首先定义了分组顺序数组 groupOrder
,然后创建了一个空对象 groupedObj
,用于存储分组结果。
接下来,我们遍历分组顺序数组,为每个分组创建一个空数组,并将其添加到 groupedObj
对象中。
然后,我们遍历原始数组 arr
,将对象按照分组顺序添加到对应的数组中,即将 obj
添加到 groupedObj[obj.group]
数组中。
最后,我们打印出分组结果 groupedObj
。
下一篇:按特定顺序执行函数