Я борюсь, как суммировать все значения «B» в моем объекте json. Я хочу, чтобы консольный журнал показывал мне общую сумму всех значений «B».Как перебрать список объектов json?
var voltot = 0;
$.each(json,function(k,v){
voltot = v.B += voltot ;
//console.log(v.B);
});
console.log(voltot);
ЗДЕСЬ МОЙ ПОЛНЫЙ ОБЪЕКТ JSON.
var json=
[
{
"a": "OOCBER",
"b": "OOCL BERLIN",
"c": "CHINA",
"d": "GREAT BRITAIN",
"e": "*PI",
"f": "NGB",
"g": "CN",
"i": "GB",
"n": 9,
"o": 6,
"p": "2015-09-14",
"q": "2015-09-14",
"s": 4,
"u": "40HC",
"v": "TRLU7564566",
"w": "CN0794909",
"x": "LEIGH",
"y": "NINGBO",
"z": 395,
"B": 68.8,
"C": 7987.5,
},
{
"a": "OOCBER",
"b": "OOCL BERLIN",
"c": "CHINA",
"d": "GREAT BRITAIN",
"e": "*PI",
"f": "NGB",
"g": "CN",
"i": "GB",
"n": 9,
"o": 6,
"p": "2015-09-14",
"q": "2015-09-14",
"s": 4,
"u": "40HC",
"v": "TCLU8306124",
"w": "CN0786008",
"x": "OXFORDSHIRE",
"y": "NINGBO",
"z": 412,
"B": 68,
"C": 8790.5,
}
]
я борюсь, как суммировать все значения "B" в моем объекте JSon. Я хочу, чтобы консольный журнал показывал мне общую сумму всех значений «B».
var voltot = 0;
$.each(json,function(k,v){
voltot = v.B += voltot ;
//console.log(v.B);
});
console.log(voltot);
говорит NaN на оповещении –
@ user5554551 Возможно, вы используете IE 8? Array.prototype.reduce указывается в ECMA 5.1, поэтому он должен быть реализован во всех современных браузерах, но если вам нужно, то на [MDN] будет определен полиспол (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce # Polyfill) – Aaron
@ user5554551 Я обновил свой ответ (и JSFiddle), чтобы объяснить, что все ваши объекты не имеют поля .B. Это может решить вашу проблему с NaN. Изменить: oops, все они есть. Тогда ваш браузер не соответствует ECMA 5.1. – Aaron