<script>
var arr = [];
function repeater(str){
for (var i=0; i<str.length;i++)
{arr.push(str[i])}
arr.sort()
for (var g=0;g<arr.length;g++) {
if (arr[g]==arr[g+1])
{return false}
else {return true}
}
}
document.write(repeater("jrtgrt"))
console.log(arr)
</script>
创建一个函数,它接受一个字符串并根据它是否有重复字符返回 true 或 false。
阵列通过控制台运行,但第二部分似乎没有运行。
最佳答案
您的循环在第一次比较后终止,因为调用了任一方法 return
。
<script>
var arr = [];
function repeater(str) {
for (var i = 0; i < str.length; i++) {
arr.push(str[i])
}
arr.sort()
for (var g = 0; g < arr.length - 1; g++) {
console.log(arr[g], arr[g + 1])
if (arr[g] == arr[g + 1]) {
return true
}
}
return false;
}
document.write(repeater("12s35sd46"))
console.log(arr)
</script>
关于javascript - 通过对数组进行排序判断数组是否有重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59199330/