统计数组中元素的个数
假设有一个数组为:[1,2,3,4,3,2,2,6,3,1],我们需要统计它里面每一个元素的个数
解题思路:对于这种统计类型的问题,我们可以创建一个空的对象。当一个对象中没有指定的属性名时,会返回undefined。如下:
let s = {}
console.log(s.name) //undefined
console.log(Boolean(s.name)) //false
因此,我们利用这个特点,可以将数组内的值赋值成对象属性名,解下来对其进行判断,如果对象内没有改属性名,我们可以添加,并使其初始值为1,如果有,则++。
代码如下:
let ss = [1,2,3,4,3,2,2,6,3,1]
let obj = {}
for(let item of ss){
if(!obj[item]){ //没有该属性名,赋值为1,有改属性名,做++运算
obj[item]=1
}else{
obj[item]++
}
}
console.log(obj) //{1: 2, 2: 3, 3: 3, 4: 1, 6: 1}