减少Javascript对象的值

减少Javascript对象的值,javascript,Javascript,有没有一种方法可以在Javascript中对对象值编写reduce函数?我正在寻找通过一系列键进行还原的模拟: Object.keys(hash).reduce(function(a, b) { // reduce logic }) 这是你需要的吗 var o = { a:1, b:2, c:3 }, values = []; for(var k in o) { values.push(o[k]); } var result = values.reduce(funct

有没有一种方法可以在Javascript中对对象值编写reduce函数?我正在寻找通过一系列键进行还原的模拟:

Object.keys(hash).reduce(function(a, b) {

// reduce logic 

})
这是你需要的吗

var o = { a:1, b:2, c:3 },
    values = [];

for(var k in o) {
    values.push(o[k]);
}

var result = values.reduce(function(previousValue, currentValue, index, array){
  return previousValue + currentValue;
});

console.log(result);

否,对象没有此类本机高阶函数

您必须编写自己的、使用库(下划线也适用于对象)或对键应用数组方法,就像您刚才所做的那样:

 Object.keys(hash).reduce(function(sum, k) {
     return sum + hash[k];
 }, 0)