Denisoed Asked:2020-01-13 15:21:23 +0000 UTC2020-01-13 15:21:23 +0000 UTC 2020-01-13 15:21:23 +0000 UTC javascript。如何检查字符串中是否有重复字母? 772 我们需要一个函数:将一个字符串作为参数(假设为“超级开发人员”),检查该字符串中是否存在重复字母,如果有则返回 true,否则返回 false!对检查字母重复的算法感兴趣,我想不通。 javascript 2 个回答 Voted Best Answer L. Vadim 2020-01-13T15:26:02Z2020-01-13T15:26:02Z 此脚本检查“超级开发人员”字母重复了多少次。如果重复则返回 true,否则返回 false。 function charCheck(str) { for(i=0; i < str.length; i++) { if (str.split(str[i]).length-1 > 1) { return true; } } return false; } str= "супер разработчик"; console.log(charCheck(str)); console.log(charCheck("затмил")); Grundy 2020-01-13T15:43:48Z2020-01-13T15:43:48Z 最简单的方法:循环运行,统计某个字符出现的次数,一旦该字符再次出现——就可以返回true function checkDup(s) { var map = {}; for (var i = 0; i < s.length; i++) { if (map[s[i]]) return true; map[s[i]] = 1; } return false; } var str = "супер разработчик"; console.log(str, checkDup(str)); console.log('супер', checkDup('супер')); 另一种解决方案是使用Set。由于其中只存储了唯一的元素,因此可以从一个字符串创建一个Set,然后将结果集合的大小与原始字符串的大小进行比较,如果大小不同,则存在重复 function checkDup(s) { return new Set(s).size != s.length; } var str = "супер разработчик"; console.log(str, checkDup(str)); console.log('супер', checkDup('супер'));
此脚本检查“超级开发人员”字母重复了多少次。如果重复则返回 true,否则返回 false。
最简单的方法:循环运行,统计某个字符出现的次数,一旦该字符再次出现——就可以返回true
另一种解决方案是使用Set。由于其中只存储了唯一的元素,因此可以从一个字符串创建一个Set,然后将结果集合的大小与原始字符串的大小进行比较,如果大小不同,则存在重复