统计字符串里字母出现的次数
1. 方法一
这是用遍历的方法来进行统计的,创建一个table
对象,将遍历的元素值作为对象元素的key
,如果对象中已有改元素,则该元素的值自增1,如果没有该元素,则该元素初始值为1。
let string = 'kapilalipak';
const table={};
for(let char of string) {
table[char]=table[char]+1 || 1;
console.log(table);
}
// 输出
> Object { k: 1 }
> Object { k: 1, a: 1 }
> Object { k: 1, a: 1, p: 1 }
> Object { k: 1, a: 1, p: 1, i: 1 }
> Object { k: 1, a: 1, p: 1, i: 1, l: 1 }
> Object { k: 1, a: 2, p: 1, i: 1, l: 1 }
> Object { k: 1, a: 2, p: 1, i: 1, l: 2 }
> Object { k: 1, a: 2, p: 1, i: 2, l: 2 }
> Object { k: 1, a: 2, p: 2, i: 2, l: 2 }
> Object { k: 1, a: 3, p: 2, i: 2, l: 2 }
> Object { k: 2, a: 3, p: 2, i: 2, l: 2 }
2. 方法二
创建个Map()
对象,用()
来判断是否有该元素。如果指定元素存在于Map中,则返回true。其他情况返回false
如果有该元素,自增1。如果没有,把该元素存进对象里然后复赋值为1。
const countMap = new Map();
for (let i = 0; i < ; i++) {
if ((string[i])) {
(string[i], (string[i]) + 1);
} else {
(string[i], 1);
}
}
// 输出
Map(5) {"k" => 2, "a" => 3, "p" => 2, "i" => 2, "l" => 2}