によってのは、私はJavaScriptで次のようなデータ構造を持っているとしましょう:Javascriptの計算割合の合計キー
const data = [
{year: 2017, kind: "mammal", animal: "dog", total: 5},
{year: 2017, kind: "mammal", animal: "dog", total: 3},
{year: 2016, kind: "mammal", animal: "dog", total: 5},
{year: 2016, kind: "bird", animal: "chicken", total: 5},
{year: 2016, kind: "bird", animal: "chicken", total: 90}
];
私は、このようなグループにyear
などのキーまたは複数のキーを指定できるようにしたいと思いますデータ。だから、僕は次のように私は合計を計算したいと思うことで、グループとしてyear
を指定した場合:
[{year: 2017, kind: "mammal", animal: "dog", count: 8, pct: 1},
{year: 2016, kind: "mammal", animal: "dog", count: 5, pct: 0.05},
{year: 2016, kind: "bird", animal: "chicken", count: 95, pct: 0.95}]
をまたは私はyear
とkind
でグループ合計を指定した場合、私は次のよう望む:
[{year: 2017, kind: "mammal", animal: "dog", count: 8, pct: 1},
{year: 2016, kind: "mammal", animal: "dog", count: 5, pct: 1},
{year: 2016, kind: "bird", animal: "chicken", count: 95, pct: 1}]
方法をこれをJavascriptで実装できますか?私はd3のネスト関数を使用して見てきましたが、これまでのところ実装に頭を落としていませんでした。
これまでに何を試しましたか? – Luca
'sort'と' reduce'メソッドを見てください。 [配列のドキュメント](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) – Will