javascript 配列の最頻値を求める
- 作成日 2022.05.29
- 更新日 2022.12.13
- javascript
- javascript
javascriptで、配列の最頻値を求めるサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 108.0.5359.99
配列の最頻値
配列の最頻値は、以下のコードで取得することが可能です。
'use strict'
const arr = ["a", "a", "a", "b", "c", "d", "d", "e", "e", "e", "e"];
const c = (x, i, v) => (x[i] ? x[i].add(v) : x[i] = new Set(v), i);
const result = arr.reduce(function (x, v) { return (this.set(v, c(x, (this.get(v) + 1 || 1), v)), x); }.bind(new Map), []).pop();
console.log([...result]); // ['e']
結果が複数個存在していても取得されます。
'use strict'
const arr = ["a", "a", "a", "b", "c", "d", "d", "e", "e", "e"];
const c = (x, i, v) => (x[i] ? x[i].add(v) : x[i] = new Set(v), i);
const result = arr.reduce(function (x, v) { return (this.set(v, c(x, (this.get(v) + 1 || 1), v)), x); }.bind(new Map), []).pop();
console.log([...result]); // ['a','e']
-
前の記事
Linux コマンド実行を記録する 2022.05.29
-
次の記事
Visual Studio 2022 現在開いているタブを閉じるショートカットキー 2022.05.29
コメントを書く