Calling reduce to sum array of objects returns NaN
You could use a start value and the add only one value from the array. var temp=[{“name”:”Agency”,”y”:32,”drilldown”:{“name”:”Agency”,”categories”:[“APPS & SI”,”ERS”],”data”:[24,8]}},{“name”:”ER”,”y”:60,”drilldown”:{“name”:”ER”,”categories”:[“APPS & SI”,”ERS”],”data”:[7,53]}},{“name”:”Direct”,”y”:60,”drilldown”:{“name”:”Direct”,”categories”:[“APPS & SI”,”ERS”],”data”:[31,29]}}]; var reduced = temp.reduce(function (r, a) { return r + a.y; // ^^^ use the last result without property }, 0); // ^^^ add a start value console.log(reduced) // r