以下是一个示例代码,演示如何按键值将对象数组聚合到一个对象中:
// 定义对象数组
var arr = [
{ key: 'name', value: 'John' },
{ key: 'age', value: 25 },
{ key: 'country', value: 'USA' },
{ key: 'name', value: 'Smith' },
{ key: 'age', value: 30 },
{ key: 'country', value: 'UK' }
];
// 创建一个空对象,用于存储聚合结果
var result = {};
// 遍历对象数组
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
var key = obj.key;
var value = obj.value;
// 如果结果对象中不存在该键,则创建一个空数组作为值
if (!result.hasOwnProperty(key)) {
result[key] = [];
}
// 将当前值添加到该键对应的数组中
result[key].push(value);
}
// 打印聚合结果
console.log(result);
这段代码将会输出以下结果:
{
name: ['John', 'Smith'],
age: [25, 30],
country: ['USA', 'UK']
}
这样,相同键值的对象将会被聚合到一个数组中。
上一篇:按键值进行筛选和分组
下一篇:按键值排序的jq