为了账号安全,请及时绑定邮箱和手机立即绑定

字符串中的重复元素

字符串中的重复元素

尚方宝剑之说 2022-10-13 16:27:09
我正在尝试编写代码来检测函数中的哪个元素被重复以及重复了多少次。该代码还将忽略大小写的差异。示例:示例 "abcde" -> 0 # 没有字符重复超过一次 "aabbcde" -> 2 # 'a' and 'b' "aabBcde" -> 2 # 'a' 出现两次, 'b' 出现两次 ( band B) "indivisibility" -> 1 # 'i' 出现六次这是我的代码:    //...    let count = 0;    for(let i = 0; i < str.length; i++){      for(let j = 0; j <str.length; j++){          if(str[i] === str[j]){            count = count + 1 //Count will tally how many times each given letter is repeated            return console.log(`${str[i]} occurs ${count}`)          }      }          }  }  duplicateCount('blaaaab');
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

循环遍历字符串并存储字符的出现次数


function duplicateCount(str) {

   let result = {}

   for(let i = 0; i < str.length; i++) {

       const char = str[i]

       if(char in result) {

           result[char] +=1

       } else {

           result[char] = 1

       }

   }

   return result

}

        

console.log(duplicateCount('blaaaab'));


查看完整回答
反对 回复 2022-10-13
?
动漫人物

TA贡献1815条经验 获得超10个赞

您可以Set在此处使用结构并使用 O(n) 获得结果


const word = "abcdEedutyhaaaa";


const duplicates = Array.from(word.toLowerCase())

  .reduce((builder, char) => {

    builder.all.has(char) ? builder.duplicate.add(char) : builder.all.add(char);

    return builder;

  }, { duplicate: new Set(), all: new Set() })

  .duplicate

  .size;


console.log(duplicates); // => 3


查看完整回答
反对 回复 2022-10-13
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

function repeatedCharacters(str){

   try{ 

return str.toLowerCase().split("").sort().join("").match(/(.)\1+/g).length;

 }

 catch(e){ 

return 0;

 } // if TypeError

}

console.log(repeatedCharacters("CheeecKKCaaz"))

上面的代码告诉了有多少个字符重复,你可以修改它来确定每个字符的出现。


查看完整回答
反对 回复 2022-10-13
  • 3 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信