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