如何在JavaScript中将大写字母设置为与小写字母相同?

时间:2019-07-19 06:20:49

标签: javascript arrays loops

作业正在计算字符串中的特定字母。 但是问题是我不知道如何设置大写字母与小写字母相同。 例如,字符串“ 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;
}

4 个答案:

答案 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'))

或者,您可以使用RegExpmatch()

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'))