所以,我写了这个for循环
if (specimins.length > 0) {
var max = specimins[0]
for (var x = 1; x < specimins.length; x++) {
if ((max.weight+max.height) > (specimins[x].weight+specimins[x].height)) {
max = specimins[x]
}
}
specimins = [max]
}
但是,这是相当麻烦的。因此,基本上,要遍历一系列标本才能找到计算出的最低总重量+身高。有什么好方法可以使用array.reduce()吗?我已经尝试了一些尝试,但是大多数尝试对我都无效。
任何帮助表示赞赏。谢谢!
最佳答案
您可以使用reduce
获得具有最低高度和宽度的元素,如下所示:
var max = specimens.reduce(function(a, b) {
return (a.width + a.height) < (b.width + b.height) ? a : b
}, specimens[0])
但是,在这种情况下,使用标准的for循环并没有错。
关于javascript - 使用javascript reduce过滤对象数组,以找到计算得出的最低统计数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38579571/