【JavaScript】配列内の重複した要素をカウントする JavaScript 2023/07/09 やりたいこと const array = [1, 1, 1, 2, 2, 3]; 配列内で各要素がそれぞれ何個ずつ存在するのかを集計したい。 解決法 mapを使う方法 const array = [1, 1, 1, 2, 2, 3]; const map = array.reduce( (acc, curr) => acc.set(curr, (acc.get(curr) || 0) + 1), new Map()); console.log([...map.keys()]); // [1, 2, 3]console.log([...map.values()]); // [3, 2, 1]console.log([...map.entries()]); // [[1, 3], [2, 2], [3, 1]] オブジェクトを使う方法 const array = [1, 1, 1, 2, 2, 3]; const counts = array.reduce( (acc, curr) => ((acc[curr] = ++acc[curr] || 1), acc), {}); console.log(counts); // {1: 3, 2: 2, 3: 1}