编写JavaScript函数以获取指定字符串中每个字母的出现次数
“编写JavaScript函数以获取指定字符串中每个字母的出现次数。” 我尝试过这种方法,但我所有的输出都是0,我真的不明白为什么 我的想法是: 字母顺序-因此,如果一个字母与下一个字母相同,计数器将增加。当它不相同时,它记录字母、字母出现的次数并重置计数器 顺便说一句,我不知道如何让它读那些只出现一次的字母。你能帮忙吗编写JavaScript函数以获取指定字符串中每个字母的出现次数,javascript,Javascript,“编写JavaScript函数以获取指定字符串中每个字母的出现次数。” 我尝试过这种方法,但我所有的输出都是0,我真的不明白为什么 我的想法是: 字母顺序-因此,如果一个字母与下一个字母相同,计数器将增加。当它不相同时,它记录字母、字母出现的次数并重置计数器 顺便说一句,我不知道如何让它读那些只出现一次的字母。你能帮忙吗 函数计数(字符串){ 让string1=string.split(“”.sort().join(“”); 设计数器=0; for(设i=0;i{ a[字母]=(a[字母]|
函数计数(字符串){
让string1=string.split(“”.sort().join(“”);
设计数器=0;
for(设i=0;i使用该函数可避免仅出现一次问题
函数计数(字符串){
返回字符串.split(“”).reduce((a,字母)=>{
a[字母]=(a[字母]| 0)+1;
返回a;
}, {});
}
日志(计数(“快速浏览信息跳转到AZYDOG”)代码>
.as控制台包装{max height:100%!important;top:0;}
使用该函数可避免仅出现一次问题
函数计数(字符串){
返回字符串.split(“”).reduce((a,字母)=>{
a[字母]=(a[字母]| 0)+1;
返回a;
}, {});
}
日志(计数(“快速浏览信息跳转到AZYDOG”)代码>
.as控制台包装{max height:100%!important;top:0;}
代码中有两个小错误
- 匹配条件应为
string1[i]==string1[i+1]
- 启动值为1的计数器,因为每个值至少出现一次
函数计数(字符串){
让string1=string.split(“”.sort().join(“”);
设计数器=1;
for(设i=0;i 计数(“快速浏览信息跳转到蓝色日志”)代码>代码中有两个小错误
- 匹配条件应为
string1[i]==string1[i+1]
- 启动值为1的计数器,因为每个值至少出现一次
函数计数(字符串){
让string1=string.split(“”.sort().join(“”);
设计数器=1;
for(设i=0;i 计数(“快速浏览信息跳转到蓝色日志”)代码>我在这里没有看到的另一种方法:
const count=(str)=>{
设freq={};
for(让i=0;i 日志(计数(“快速浏览信息跳转到AZYDOG”)代码>我在这里没有看到的另一种方法:
const count=(str)=>{
设freq={};
for(让i=0;i 日志(计数(“快速浏览信息跳转到AZYDOG”)代码>您可以这样做
function count(text){
var i = 0;
var j = 0;
var chars = new Array();
var occurs = new Array();
for(i = 0;i < text.length;i++){
//save current char
chars.push(text[i]);
//get occurences
occurs.push(countOccurs(text, text[i]));
}
//clean for duplicates
for(i = 0;i < chars.length;i++){
for(j = (i + 1);j < chars.length;j++){
if(chars[i] == chars[j]){
chars[j] = "";
occurs[j] = 0;
}
}
}
//print it!
for(i = 0;i < chars.length;i++){
if(chars[i] != '')
console.log("The char " + chars[i] + " appears " + occurs[i] + " times.");
}
}
function countOccurs(text, character){
var i = 0;
var ret = 0;
for(i = 0;i < text.length;i++)
if(text[i] == character)
ret++
return ret;
}
count("abcdefabcd");
函数计数(文本){
var i=0;
var j=0;
var chars=新数组();
var occurs=新数组();
对于(i=0;i
因此,您只需计算每个字符的发生次数,然后清理数组。您可以这样做
function count(text){
var i = 0;
var j = 0;
var chars = new Array();
var occurs = new Array();
for(i = 0;i < text.length;i++){
//save current char
chars.push(text[i]);
//get occurences
occurs.push(countOccurs(text, text[i]));
}
//clean for duplicates
for(i = 0;i < chars.length;i++){
for(j = (i + 1);j < chars.length;j++){
if(chars[i] == chars[j]){
chars[j] = "";
occurs[j] = 0;
}
}
}
//print it!
for(i = 0;i < chars.length;i++){
if(chars[i] != '')
console.log("The char " + chars[i] + " appears " + occurs[i] + " times.");
}
}
function countOccurs(text, character){
var i = 0;
var ret = 0;
for(i = 0;i < text.length;i++)
if(text[i] == character)
ret++
return ret;
}
count("abcdefabcd");
函数计数(文本){
var i=0;
var j=0;
var chars=新数组();
var occurs=新数组();
对于(i=0;i
因此,您只需计算每个字符的发生次数,然后清除数组。const counterFunc=(string)=>{
让计数器={};
string.split(“”).map((char)=>{
if(计数器类型[char]!==“未定义”){
计数器={
柜台
[char]:计数器[char]+1
}
}否则{
计数器[char]=1
}
})
返回Object.keys(计数器).map(k=>{
返回k+计数器[k];
}).加入(“”);
};
控制台日志(counterFunc(“abcabftyeacrtfvcserfvaserdcvfrt”))
const counterFunc=(字符串)=>{
让计数器={};
string.split(“”).map((char)=>{
if(计数器类型[char]!==“未定义”){
计数器={
柜台
[c]