Có một phương thức Array đẹp reduce()
để lấy một giá trị từ Array. Thí dụ:
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){
return previousValue + currentValue;
});
Cách tốt nhất để đạt được điều tương tự với các đối tượng là gì? Tôi muốn làm điều này:
{
a: {value:1},
b: {value:2},
c: {value:3}
}.reduce(function(previous, current, index, array){
return previous.value + current.value;
});
Tuy nhiên, Object dường như không có reduce()
phương thức nào được thực hiện.
reduce
phương pháp. Tôi sẽ kiểm tra ở đó. Mặc dù vậy, giải pháp không có vẻ khó khăn.
_
làm giảm đối tượng. Không chắc chắn nếu nó hoạt động một cách tình cờ hoặc nếu sự hỗ trợ đối tượng là có chủ ý, nhưng thực sự bạn có thể vượt qua một đối tượng như trong ví dụ của câu hỏi này và nó (về mặt khái niệm) for..in
, gọi hàm lặp của bạn với các giá trị được tìm thấy ở mỗi khóa.
Underscore.js
?