💡【jsワンライナー】多次元配列内の重複要素を加工したデータを取得する2021/03/21に公開2件filtermapJavaScriptワンライナーreducetechDiscussionnap52023/05/06に更新集計集約操作を達成したい場合はtidyjsライブラリを使うとハンディかもです。 demo code. https://codesandbox.io/p/sandbox/pedantic-nova-d2xjde?file=%2Fsrc%2Findex.ts import { default as dump } from "pretty-format"; import { tidy, groupBy, sum, summarize } from "@tidyjs/tidy"; // Input const data = [ { id: 1, name: "太郎", money: 3000 }, { id: 2, name: "次郎", money: 1000 }, { id: 3, name: "三郎", money: 1200 }, { id: 2, name: "次郎", money: 500 }, { id: 1, name: "太郎", money: 1300 }, { id: 1, name: "太郎", money: 10000 }, ]; const result = tidy( data, groupBy(["id", "name"], summarize({ total: sum("money") })) ); console.log(dump(result)); // Output Array [ Object { "id": 1, "name": "太郎", "total": 14300, }, Object { "id": 2, "name": "次郎", "total": 1500, }, Object { "id": 3, "name": "三郎", "total": 1200, }, ] 簡単ですが、以上です。 tama80212023/05/06ありがとうございます! 返信を追加
nap52023/05/06に更新集計集約操作を達成したい場合はtidyjsライブラリを使うとハンディかもです。 demo code. https://codesandbox.io/p/sandbox/pedantic-nova-d2xjde?file=%2Fsrc%2Findex.ts import { default as dump } from "pretty-format"; import { tidy, groupBy, sum, summarize } from "@tidyjs/tidy"; // Input const data = [ { id: 1, name: "太郎", money: 3000 }, { id: 2, name: "次郎", money: 1000 }, { id: 3, name: "三郎", money: 1200 }, { id: 2, name: "次郎", money: 500 }, { id: 1, name: "太郎", money: 1300 }, { id: 1, name: "太郎", money: 10000 }, ]; const result = tidy( data, groupBy(["id", "name"], summarize({ total: sum("money") })) ); console.log(dump(result)); // Output Array [ Object { "id": 1, "name": "太郎", "total": 14300, }, Object { "id": 2, "name": "次郎", "total": 1500, }, Object { "id": 3, "name": "三郎", "total": 1200, }, ] 簡単ですが、以上です。 tama80212023/05/06ありがとうございます! 返信を追加
Discussion
集計集約操作を達成したい場合はtidyjsライブラリを使うとハンディかもです。
demo code.
簡単ですが、以上です。
ありがとうございます!