编写一个函数,统计输入的字符串里面各字符的字数。例如参数是“abbaddab”输出结果为a:3,b:3,d:2
function countCharacters(str) {
const charCount = {};
for (let char of str) {
if (charCount[char]) {
charCount[char]++;
} else {
charCount[char] = 1;
}
}
return charCount;
}
const inputString = "abbaddab";
const result = countCharacters(inputString);
console.log(result); // 输出: { a: 3, b: 3, d: 2 }
用到的知识点总结
for…of 是 JavaScript 中的一种循环语法,用于遍历可迭代对象(如数组、字符串等)。在这种循环中,char 变量会依次被赋值为字符串 str 中的每个字符。
方括号语法:array[string] 会尝试获取对象 array 中名为 string 的属性的值。
注意:JavaScript 中用方括号语法 array[string] 访问属性时,string 实际上是一个字符串类型的键值,而不是变量名。如果 string 是一个变量,你想要使用变量的值作为键值来访问对象属性,你应该使用点符号来访问对象的属性。
const propName = "someKey";
console.log(obj[propName]); // 方括号语法
console.log(obj.someKey); // 点符号语法