Есть ли способ написать функцию сокращения по значениям объекта в Javascript? Я ищу аналог сокращения по массиву ключей:Уменьшить Javascript Значения объекта
Object.keys(hash).reduce(function(a, b) {
// reduce logic
})
Есть ли способ написать функцию сокращения по значениям объекта в Javascript? Я ищу аналог сокращения по массиву ключей:Уменьшить Javascript Значения объекта
Object.keys(hash).reduce(function(a, b) {
// reduce logic
})
Нет, нет таких нативных функций высшего порядка для объектов.
Вы либо придется написать свой собственный, использовать библиотеку (Подчеркивание-х _.reduce
делает работу на объектах, а) или применить метод массива по клавишам, как вы просто:
Object.keys(hash).reduce(function(sum, k) {
return sum + hash[k];
}, 0)
Это то, что вам нужно?
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);