1、可以使用 JavaScript 中的 reduce() 方法来实现将数据按照 bajarid 分类的功能。具体实现步骤如下:
//首先定义一个空对象,用于存储分类后的数据,例如:
const classifiedData = {};
//使用 reduce() 方法遍历数据数组,将每个数据项按照 bajarid 分类,并存储到 classifiedData 对象中,例如:
const data = [
{ id: 1, bajarid: 'A', name: 'Apple' },
{ id: 2, bajarid: 'B', name: 'Banana' },
{ id: 3, bajarid: 'A', name: 'Apricot' },
{ id: 4, bajarid: 'C', name: 'Cherry' },
{ id: 5, bajarid: 'B', name: 'Blueberry' },
{ id: 6, bajarid: 'A', name: 'Avocado' },
];
const classifiedData = data.reduce((acc, item) => {
if (!acc[item.bajarid]) {
acc[item.bajarid] = [];
}
acc[item.bajarid].push(item);
return acc;
}, {});
console.log(classifiedData);
// 输出结果:
//{
// A: [
// { id: 1, bajarid: 'A', name: 'Apple' },
// { id: 3, bajarid: 'A', name: 'Apricot' },
// { id: 6, bajarid: 'A', name: 'Avocado' }
// ],
// B: [
// { id: 2, bajarid: 'B', name: 'Banana' },
// { id: 5, bajarid: 'B', name: 'Blueberry' }
// ],
// C: [
// { id: 4, bajarid: 'C', name: 'Cherry' }
// ]
//}
//在上述代码中,reduce() 方法的第一个参数是一个回调函数,该函数接收两个参数:累加器(acc)和当前遍历的数据项(item)。在回调函数中,首先判断 classifiedData 对象中是否已存在当前数据项的 bajarid 分类,如果不存在,则创建一个空数组,并将该数组存储到 classifiedData 对象中;然后将当前数据项添加到对应的分类数组中。最后,将累加器(即 classifiedData 对象)返回。