來源: 常用技巧之JS判斷數組中某元素出現次數 - winyh - 博客園 (cnblogs.com)
1.雙重for循環判斷
let arr = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice', 'Bruce', 'Alice'];
let newArr = [];
for(let i=0; i<arr.length; i++){
let temp = arr[i];
let count = 0;
for(let j=0; j<arr.length; j++){
if(arr[j]===temp){
count++;
arr[j]=-1;
}
}
if(temp!==-1){
newArr.push(temp+':'+count)
}
}
console.log(newArr)
2.reduce
let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice', 'Bruce', 'Alice'];
let nameNum = names.reduce((prev,current,index)=>{
if (current in prev) {
prev[current]++;
} else {
prev[current] = 1;
}
return prev;
},{})
console.log(nameNum).
如果initialValue的值是空數組且循環的元素是數字或數字形式字符串, 結果中會有empty item的空值. ??