2013-04-10 3 views
0

JS noob здесь. Как установить переменную, равную сумме атрибутов currentDays для всех трех объектов животных?Как суммировать атрибуты разных объектов?

var foods = { 

chicken: { 
    'days': 1349.5, 
    'deaths': 28.63, 
    'currentDays': 1349.5, 
    'currentDeaths': 28.63 
    }, 

eggs: { 
    'days': 456.25, 
    'deaths': 1.733, 
    'currentDays': 456.25, 
    'currentDeaths': 1.733 
    }, 

pork: { 
    'days' :112.5, 
    'deaths': .445, 
    'currentDays': 112.5, 
    'currentDeaths': .445 
    }, 

}; 
+0

Это поможет если вы дали код, который вы попробовали. – kojiro

ответ

1
var key, days = 0; 

for (key in food) { 
    if (Object.prototype.hasOwnProperty.call(food, key)) { 
    days += foods[key].currentDays; 
    } 
} 
0

Если вы можете рассчитывать на недавний двигатель JavaScript, вы можете использовать reduce метод Array типа:

Object.keys(foods).reduce(function (p,v,i,a) { 
    return p + foods[v].currentDays; 
}, 0); 
Смежные вопросы