作业正在计算字符串中的特定字母。 但是问题是我不知道如何设置大写字母与小写字母相同。 例如,字符串“ aAa”中有三个“ a”。
如果我的代码可以区分大写字母和小写字母,那么效果很好。
function countChar(string, char) {
var count = 0;
for (var i = 0; i < string.length; i++) {
if (string[i] === char) {
count = count + 1;
}
}
return count;
}
答案 0 :(得分:0)
您可以使用String#toLowerCase
预先将两个字符串都转换为小写。使用String#toUpperCase
也可以使用另一种方法。
两种方法都返回可比较的结果。
char = char.toLowerCase();
string = string.toLowerCase();
答案 1 :(得分:0)
使用
将字符串转换为小写.toLowerCase()
function countChar(string, char) {
string = string.toLowerCase();
char=char.toLowerCase();
var count = 0;
for (var i = 0; i < string.length; i++) {
if (string[i] === char) {
count = count + 1;
}
}
return count;
}
console.log(countChar('aAa', 'A'))
答案 2 :(得分:0)
使用toLowerCase()
或toUpperCase()
进行大小写转换可以解决问题
function countChar(string, char) {
string = string.toLowerCase()
char = char.toLowerCase()
var count = 0;
for (var i = 0; i < string.length; i++) {
if (string[i] === char) {
count = count + 1;
}
}
return count;
}
console.log(countChar('aAa', 'a'))
或者,您可以使用RegExp
和match()
i
-不区分大小写
g
-全局
function countChar(string, char) {
return string.match(new RegExp(char, 'ig')).length;
}
console.log(countChar('aAa', 'a'))
答案 3 :(得分:0)
您可以在一行中完成:
function countChar(string, char) {
return string.toLowerCase().split('').reduce((count , x) => (x === char ? count+1 : count), 0);
}
console.log(countChar('aAa', 'a'))