const arr = ["b", "c","b", "c","a", "b", "c"]
const obj = {}
arr.forEach(item=>!Object.keys(obj).includes(item)?obj[item]=1:obj[item]++)
console.log(obj);
具体思路:遍历arr数组,查看对象obj中是否存在和数组中的元素,若不存在,放入数组并加1;若存在,该元素自增。其中Object.keys(对象名)可以将对象中所有的键放入数组,通过数组的includes方法检验该数组是否包含arr数组的元素。
这是那一行实现代码的拆开写法
arr.forEach(item=>{
const keys = Object.keys(obj)
console.log(keys);
if(!keys.includes(item)){
obj[item]=1
}else{
obj[item]++
}
})