javascript - 返回字符串数组中大写字符的总数
问题描述
正如标题所说,我试图在接受字符串数组的函数中返回大写字符的总数。
这是我到目前为止所拥有的:
function totalCaps(str) {
var count=0,len=str.length;
for(var i=0;i<len;i++) {
if(/[A-Z]/.test(str.charAt(i))) count++;
}
return count;
}
console.log(
totalCaps(["AwesomE", "ThIngs", "hAppEning", "HerE"])
);
我是最好的方法吗?我确信有一个替代解决方案来比较我正在做的事情。
我正在尝试返回: 8 对于我在底部介绍的给定字符串数组。
解决方案
如果“字符串数组中的大写字符总数”对您很重要,我想您可以稍微重构数据以减少任务:
- 将字符串连接到 1 个长字符串:
["sldkDSgj", "sldTd", "slpiasSPA", ...].join('') // "sldkDSgjsldTdslpiasSPA..."
- 用于
String.match
接收与您的模式匹配的数量:
const pattern = /[A-Z]/g
"sldkDSgjsldTdslpiasSPA...".match(pattern).length // 6
推荐阅读
- javascript - 通过 JavaScript 使用 Canvas,如何在 Y 参数内绘制 X 次图片?
- java - CompletableFuture join() 导致主线程挂起
- java - 针对特定表格布局裁剪单元格数据。iText 2.1.7
- kotlin - Kotlin:groupBy 并转换为其他对象
- cordova - -bash:离子:找不到命令(无法安装任何版本)
- lua - 多键元组映射 Lua 中的多值元组
- jq - 如何扩展变量值来构建一个
- heap-memory - 如何在独立配置中通过 CLI 更改 keycloak jvm 参数
- sql-server - 更新在表中存储为 varchar 的 XML
- amazon-web-services - Amazon ECR 注册表作为私有注册表