javascript - 计算 Javascript 中所有字符串字符在字符串中使用字符的次数
问题描述
编写一个名为 strLetterCount 的函数,它接受一个字符串并返回一个新字符串,其中每个字符后跟它在字符串中出现的次数。
例如:
strLetterCount("taco"); // "t1a1c1o1"
我的代码在这里偏离了标记,但这就是我得到的......
我将继续寻找每个字母,然后尝试返回正确的字符串。我知道这不是解决问题的好方法。有什么帮助吗?
function strLetterCount(str) {
var countA = 0;
var countB = 0;
var countC = 0;
var countD = 0;
var countE = 0;
var countF = 0;
var countG = 0;
var countH = 0;
var countI = 0;
var countJ = 0;
var countK = 0;
var countL = 0;
var countM = 0;
var countN = 0;
var countO = 0;
var countP = 0;
var countQ = 0;
var countR = 0;
var countS = 0;
var countT = 0;
var countU = 0;
var countV = 0;
var countW = 0;
var countX = 0;
var countY = 0;
var countZ = 0;
for (var i = 0; i < str.length; i++);
if (str[i] === 'a') {
countA++;
}
for (var i = 0; i < str.length; i++);
if (str[i] === 'b') {
countB++;
}
for (var i = 0; i < str.length; i++);
if (str[i] === 'c') {
countC++;
}
return {"a":countA,"b":countB,"c":countC}
}
console.log(
strLetterCount("The quick brown fox jumps over the lazy dog")
)
解决方案
只需遍历字符串的每个字符,并将它们计数到一个对象中。
一个简单的解决方案是:
let str = "The quick brown fox jumps over the lazy dog";
const count = string => {
const characters = {};
for (let character of string) {
characters[character] = characters[character] + 1 || 1;
}
return characters;
}
console.log(count(str));
您可以将结果用作:
let result = count(str);
console.log(result["o"]); // 4
更新
如果您需要字符串输出,一种选择是使用第二个循环来写出结果:
let str = "The quick brown fox jumps over the lazy dog";
const count = string => {
const characters = {};
let str = "";
for (let character of string) {
characters[character] = characters[character] + 1 || 1;
}
for (let key in characters) {
str += `${key}${characters[key]}`
}
return str;
}
console.log(count(str));
或者,如果您只是简单地不关心格式:
return JSON.stringify(characters);
推荐阅读
- azure-devops - 如何使用 powershell 使用 azure 发布管道变量?
- c# - 使用 Microsoft Graph API 将文件上传到 MVC 应用程序中的 onedrive,权限错误
- php - 将图像添加到现有数据库
- java - 如何使用选项框中的按钮操作事件关闭 Joptionpane showOptionDialog
- google-apps-script - 是否可以在 googlesheets 的脚本中执行嵌套 if 函数?
- corda - 升级corda状态时出现问题
- python - PyVISA - 无法让 GPIB 仪器以编程方式进入远程模式
- apache-nifi - Nifi 连接到 sql server kerberos
- html - 是否可以在 Firefox 中播放基本身份验证背后的音频?
- symfony - Symfony 4,如何将通用控制器实现为服务?