【发布时间】:2020-07-17 10:47:58
【问题描述】:
我有一个对象数组如下:
var arr=[ {"jan":2},{"jan":5},{"feb":3},{"feb":1}];
它们将是 N 个对象,带有任意组合键 jan 和 feb 只是一个示例。
我需要找到具有相似键的对象的平均值,以便生成的数组如下所示:
var newArr=[{"jan":3.5},{"feb":2}];
希望在 JavaScript 中不使用 reduce 方法来实现这一目标。
我试图分离出具有相似键的对象,以便对它们求和并求平均值,然后推入一个新数组。像这样:
arr.forEach(a=>{
console.log(Object.keys(a))
console.log(arr.filter(ar=>ar.hasOwnProperty(Object.keys(a)[0])))
})
但它会在控制台中为相同的键创建多个组。
[ {"jan":2},{"jan":5} ]
[ {"jan":2},{"jan":5} ]
[ {"feb":3},{"feb":1} ]
[ {"feb":3},{"feb":1} ]
【问题讨论】:
-
“具有相似键”有什么相似之处?一样吗?
-
@NikitaMadeev 我提到过,需要不使用reduce方法。
-
请添加您的尝试。
-
到目前为止你尝试了什么?
-
是否保证每个对象只有一个属性?
标签: javascript arrays average