Wie greife ich hier auf die Array-Summe zu?
Ich habe einen Datensatz, der ungefähr so aussieht:
var dataset = [
// apples
[{"x": 1, "y": 5 }, { "x": 2, "y": 4 }, { "x": 3, "y": 2 }, { "x": 4, "y": 7 }, { "x": 5, "y": 23 }],
// oranges
[{ "x": 1, "y": 10 }, { "x": 2, "y": 12 }, { "x": 3, "y": 19 }, { "x": 4, "y": 23 }, { "x": 5, "y": 17 }],
// grapes
[{ "x": 1, "y": 22 }, { "x": 2, "y": 28 }, { "x": 3, "y": 32 }, { "x": 4, "y": 35 }, { "x": 5, "y": 43 }]
];
Und ich muss die höchstmögliche Summe von Y-Werten kennen (es ist zufällig der letzte in der Reihe -23 + 17 + 43
) - Ich denke, ich muss zuerst eine Array-Map verwenden, um die Summen zu finden, und dann das Maximum dieser Summen nehmen.
Ich dachte, ich könnte dies mit @ tconsole.log(d3.max(d3.map(d3.sum(dataset))));
aber was ich in der Konsole sehe, ist nurundefined
- meine Syntax ist eindeutig falsch.
Ich habe es auch versucht, was nahe liegt:
dataset.map(function (a) {
return d3.sum(a.map(function (d) { return d.y; }));
})
Welche gibt mir die Summe jeder Serie Array [ 41, 81, 160 ]
) mit einem Maximum von160
, nicht die Summe der ersten Elemente, gefolgt von den zweiten Elementen Array [ 37, 44, 53, 65, 83]
) - ich suche letzteres-- das max sollte @ se83
.