首页 > 解决方案 > 返回字符串数组中大写字符的总数

问题描述

正如标题所说,我试图在接受字符串数组的函数中返回大写字符的总数。

这是我到目前为止所拥有的:

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 对于我在底部介绍的给定字符串数组。

标签: javascript

解决方案


如果“字符串数组中的大写字符总数”对您很重要,我想您可以稍微重构数据以减少任务:

  1. 将字符串连接到 1 个长字符串:
 ["sldkDSgj", "sldTd", "slpiasSPA", ...].join('') // "sldkDSgjsldTdslpiasSPA..."
  1. 用于String.match接收与您的模式匹配的数量:
const pattern = /[A-Z]/g
"sldkDSgjsldTdslpiasSPA...".match(pattern).length // 6

推荐阅读