有一个很好的数组方法 reduce()
可以从数组中获取一个值。例子:
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
用对象实现相同目标的最佳方法是什么?我想这样做:
{
a: {value:1},
b: {value:2},
c: {value:3}
}.reduce(function(previous, current, index, array){
return previous.value + current.value;
});
但是,Object 似乎没有实现任何 reduce()
方法。
原文由 Pavel S. 发布,翻译遵循 CC BY-SA 4.0 许可协议
在这种情况下,您真正想要的是
Object.values
。考虑到这一点,这是一个简洁的 ES6 实现:或者简单地说: