配列の同じ値の件数をカウントする
javascriptで配列の中に同じ値のものが何個あるのかカウントするいい方法が思いつかなかった
シンプルに配列をぐるぐる回しながらオブジェクトに入れていってカウントすると以下のようになる
const targetArray = [1, 1, 2, 2, 3, 4, 1, 2, 3, 2, 5, 6, 6, 4, 6] const results = {} for (let i = 0; i < targetArray.length; i++) { const key = targetArray[i] results[key] = results[key] ? results[key] + 1 : 1 } for (const key in results) { console.log(key + ' : ' + results[key]) }
"1 : 3" "2 : 4" "3 : 2" "4 : 2" "5 : 1" "6 : 3"