如何计算字符串中所有大写字符?

问题描述 投票:0回答:3

我停留在应该计算字符串中高位字母的函数上。但是取而代之的是计数器的结果为0,我不知道我在哪里犯了错误。

const bigLettersCount = (str) => {
  let result = 0;
  for (let i = 0; i < str.length; i += 1) {
    if (str[i].toUpperCase() === str[i]) {
    result += i;
    }
    return result;
   }
  }
  bigLettersCount('HeLLo')
javascript for-loop equality mutation toupper
3个回答
4
投票

您可以使用regex执行相同的操作。

const str = 'HeLLo';

console.log(
  (str.match(/[A-Z]/g) || '').length
)

0
投票

我已经按照以下方式更新了您的代码。它将起作用。

const bigLettersCount = (str) => {
let result = 0;
for (let i = 0; i < str.length; i += 1) {
  if (str[i].toUpperCase() === str[i]) {
    result++;
  }
}
return result;
}

0
投票

您可以使用charCodeAt(),并且如果它在65(A)和90(Z)之间,则表示它是大写字母:

const bigLettersCount = (str) => {
  let result = 0;
  for (let i = 0; i < str.length; i += 1) {
    if (str.charCodeAt(i) > 64 && str.charCodeAt(i) <91 ) {
      result += 1;
    }
   }
   return result
  }
  
console.log(bigLettersCount('HeLLo'))
© www.soinside.com 2019 - 2024. All rights reserved.