直接上代碼
<script type="text/javascript">
let ARR = ['b','a','cd','dd','d','a','c','e','c','b','a','c','b','c','b']
// 先令最多元素為第一個元素
let max = ARR[0]
// 最多元素個數
let num = 0
// 輔助數組,存儲最多數量重復元素
let eq = []
let arr = ARR.reduce((newArr,item)=>{
if(item in newArr){
newArr[item] += 1
}else{
newArr[item] = 1
}
return newArr
},{})
for(let item in arr){
if(num < arr[item]){
num = arr[item]
max = item
eq.length = 0
}else if(num === arr[item]){
eq.push(item)
}
}
if(eq.length>0){
eq.forEach(item=>{
max += ','+item
})
}
// // forEach方法 需要改進,得不到最多數量相同的兩個元素
// let newArr = {}
// let max = ''
// let num = 1
// ARR.forEach((item)=>{
// if(item in newArr){
// newArr[item] += 1
// }else{
// newArr[item] = 1
// }
// if(newArr[item]>num){
// num = newArr[item]
// max = item
// }
// })
console.log(arr,'出現最多次數的元素是:'+max+',它出現的次數是:'+num)
</script>