的方法如下:
下面是一个示例代码:
function createAverageArray(objArray) {
// 创建一个空对象用于保存关键字的值总和和出现次数
var sumObj = {};
var countObj = {};
// 遍历对象数组
for (var i = 0; i < objArray.length; i++) {
var obj = objArray[i];
var key = obj.key;
var value = obj.value;
// 如果关键字在sumObj中已存在,则将其值累加;否则,将其值初始化为0
if (key in sumObj) {
sumObj[key] += value;
countObj[key]++;
} else {
sumObj[key] = value;
countObj[key] = 1;
}
}
// 创建一个新的数组,保存关键字及其对应的平均值
var averageArray = [];
for (var key in sumObj) {
var averageValue = sumObj[key] / countObj[key];
var newObj = {
key: key,
averageValue: averageValue
};
averageArray.push(newObj);
}
return averageArray;
}
// 示例输入对象数组
var objArray = [
{ key: 'A', value: 10 },
{ key: 'B', value: 20 },
{ key: 'A', value: 30 },
{ key: 'C', value: 15 },
{ key: 'B', value: 25 }
];
// 调用函数创建新的数组
var averageArray = createAverageArray(objArray);
// 输出结果
console.log(averageArray);
这样,通过遍历对象数组并进行统计,我们可以得到一个新的数组,其中包含了相同关键字的平均值。请注意,这只是一个示例代码,实际应用中需要根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云