JavaScript 实现 JSON 对象数组以某个属性进行分组处理

时间:2024-04-17 18:29:23

JavaScript 实现 JSON 对象数组以某个属性进行分组处理

要在 JavaScript 中对 JSON 对象数组的某个属性进行分组处理,你可以使用一个对象来存储分组后的结果。下面是一个简单的示例,演示了如何对 JSON 对象数组中的某个属性进行分组处理:

假设我们有一个 JSON 对象数组,每个对象都有category属性,我们想要按照category属性进行分组。

var data = [
  { name: "Item 1", category: "A" },
  { name: "Item 2", category: "B" },
  { name: "Item 3", category: "A" },
  { name: "Item 4", category: "C" },
  { name: "Item 5", category: "B" },
];

// 创建一个空对象来存储分组后的结果
var groupedData = {};

// 遍历数据数组
data.forEach(function (item) {
  var category = item.category;

  // 如果分组对象中不存在该类别,则创建一个新的数组存储该类别下的项
  if (!groupedData[category]) {
    groupedData[category] = [];
  }

  // 将项添加到相应的类别数组中
  groupedData[category].push(item);
});

// 打印分组后的结果
console.log(groupedData);

在这个示例中,我们遍历了 JSON 对象数组data,对每个对象的category属性进行分组处理。我们使用一个空对象groupedData来存储分组后的结果,键是类别,值是相应类别下的对象数组。

输出结果将类似于这样:

{
    A: [
        { name: 'Item 1', category: 'A' },
        { name: 'Item 3', category: 'A' }
    ],
    B: [
        { name: 'Item 2', category: 'B' },
        { name: 'Item 5', category: 'B' }
    ],
    C: [
        { name: 'Item 4', category: 'C' }
    ]
}

这样,你就成功地对 JSON 对象数组的某个属性进行了分组处理。