source: node_modules/d3-array/src/mode.js@ e4c61dd

Last change on this file since e4c61dd was e4c61dd, checked in by istevanoska <ilinastevanoska@…>, 6 months ago

Prototype 1.1

  • Property mode set to 100644
File size: 708 bytes
Line 
1import {InternMap} from "internmap";
2
3export default function mode(values, valueof) {
4 const counts = new InternMap();
5 if (valueof === undefined) {
6 for (let value of values) {
7 if (value != null && value >= value) {
8 counts.set(value, (counts.get(value) || 0) + 1);
9 }
10 }
11 } else {
12 let index = -1;
13 for (let value of values) {
14 if ((value = valueof(value, ++index, values)) != null && value >= value) {
15 counts.set(value, (counts.get(value) || 0) + 1);
16 }
17 }
18 }
19 let modeValue;
20 let modeCount = 0;
21 for (const [value, count] of counts) {
22 if (count > modeCount) {
23 modeCount = count;
24 modeValue = value;
25 }
26 }
27 return modeValue;
28}
Note: See TracBrowser for help on using the repository browser.