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

How to count all uppercase characters in a string?

我卡在了一个计算字符串中大写字母的函数上。但是计数器结果为 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')

您可以使用 regex 来做同样的事情。

const str = 'HeLLo';

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

我已经更新了您的代码,如下所示。它会起作用。

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

你可以使用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'))