d3.group - AndyStobirski/tabular-vis.js GitHub Wiki
d3.group groups values by key. It returns a map from key to the corresponding array of values from the input.
const d3 = require("d3");`
var num = ["92", "82", "59", "144", "72", "52", "34", "1.63", "81,888",
"81", "34", "1.63", "81,888", "81", "81", "81", "81", "1.63", "81,888", "81", "81", "81", "81"];`
var grp = d3.group(num, n=>n);
console.log( grp);
Produces the following:
InternMap(10) [Map] {
'92' => [ '92' ],
'82' => [ '82' ],
'59' => [ '59' ],
'144' => [ '144' ],
'72' => [ '72' ],
'52' => [ '52' ],
'34' => [ '34', '34' ],
'1.63' => [ '1.63', '1.63', '1.63' ],
'81,888' => [ '81,888', '81,888', '81,888' ],
'81' => [
'81', '81', '81',
'81', '81', '81',
'81', '81', '81'
]
}
The following
var values =
[
{ name: 175, value: 0.47 },
{ name: 175, value: 0.67 },
{ name: 175, value: 0.7 },
{ name: 178, value: 0.64 },
{ name: 179, value: 0.92 },
{ name: 180, value: 0.7 },
{ name: 181, value: 0.26 },
{ name: 181, value: 0.28 },
{ name: 181, value: 0.64 },
{ name: 184, value: 0.63 }
];
console.log(d3.group(values, v=>v.name));
Produces the output of
InternMap(6) [Map] {
175 => [
{ name: 175, value: 0.47 },
{ name: 175, value: 0.67 },
{ name: 175, value: 0.7 }
],
178 => [ { name: 178, value: 0.64 } ],
179 => [ { name: 179, value: 0.92 } ],
180 => [ { name: 180, value: 0.7 } ],
181 => [
{ name: 181, value: 0.26 },
{ name: 181, value: 0.28 },
{ name: 181, value: 0.64 }
],
184 => [ { name: 184, value: 0.63 } ]
}