下面的函数应该计算多次出现的字符串(文本)中的字母数,我不明白为什么它不能正常工作。
function duplicateCount(text){
text.toUpperCase();
var counter = "";
for (var i = 0; i < text.length; i++) {
for (b = 0; b < text.length; b++){
if(text[b] === text[i] && b !== i && counter.indexOf(text[b] === -1)) {
counter += text[b];
}
}
}
return counter.length;
&#13;
答案 0 :(得分:1)
将if(text[b] === text[i] && b !== i && counter.indexOf(text[b] === -1))
替换为if(text[b] === text[i] && b !== i && counter.indexOf(text[b]) === -1)
答案 1 :(得分:0)
重复是a,b,c,d,f = 5
function duplicateCount(text){
text = text.toUpperCase('');
var text_arr = [];
var total = 0;
for (var i = 0; i < text.length; i++) {
var char = text.substring(i, 1);
if(text_arr.indexOf(text[i]) == -1) {
text_arr.push(text[i]);
} else {
total++;
}
}
return total;
}
console.log('Total duplicate characters are: '+duplicateCount('aabbccddeff'));
希望它有所帮助。
答案 2 :(得分:0)
function duplicateCount(text){
counterString = ""
for (var i = 0; i < text.length; i++) {
if(text.indexOf(text[i], i+1) != -1) {
counterString = counterString + text[i]
}
}
alert(counterString.length);
}
一个简单的解决方案
答案 3 :(得分:0)
除了Krishna Kishore Andhavarapu的回答, 您的代码的第二行应替换为
var text = text.toUpperCase();