カメリアの記事

意味があることやないことを綴ります

JavaScript で最頻値を求めたら敗北した!

下のようなコードを考えました。

let array = [1, 2, 2, 3, 4, 5]
let add = {}
for (let i in array) {
  if (add[array[i]]) {
    add[array[i]]++
  }
  else {
    add[array[i]] = 1
  }
}
let max = 0
for (let i = 1; i < Object.keys(add).length; i++) {
  if (add[i] > add[i - 1]) {
    max = Number(i)
  }
}
console.log(max)

個人的にはちょっとトリッキーで面白いな、と思っていました。で、既知の方法をググったわけですが「 javascript 配列の最頻値を求める | mebee 」にはすっかり敗北です。難しすぎて解読することができません。その上最頻値が複数あっても求められるとのこと。僕はそんなこと考えもしませんでした。とりあえずウェブクリップしましたよ。