Utilisation JavaScript, je dois vérifier si une chaîne donnée contient une séquence de lettres répétées, comme celle-ci: p>
"aaaaa" p> blockQuote>
Comment puis-je faire ça? P>
7 Réponses :
function check(str) {
var tmp = {};
for(var i = str.length-1; i >= 0; i--) {
var c = str.charAt(i);
if(c in tmp) {
tmp[c] += 1;
}
else {
tmp[c] = 1;
}
}
var result = {};
for(c in tmp) {
if(tmp.hasOwnProperty(c)) {
if(tmp[c] > 1){
result[c] = tmp[c];
}
}
}
return result;
}
then you can check the result to get the repeated chars and their frequency. if result is empty, there is no repeating there.
Notez que l'utilisation de [] code> la notation sur les chaînes n'est pas prise en charge sur certains navigateurs plus anciens; Sur ceux-ci, utilisez c = str.charat (i) code> plutôt que c = str [i] code>.
Vous pouvez utiliser cette fonction:
Parce que si je l'exécute , les erreurs informatiques.
Que dois-je faire si c'est juste le même personnage répété à travers la chaîne juste "aaaaaaaaaaaa" et non "Aadaa"
@weeNearner les deux retourneront true code>. Voulez-vous qu'il se comporte différemment?
Oui, ça ne devrait me procurer que si la chaîne entière seulement un personnage répété
Utilisez des expressions régulières: ou si vous ne voulez pas attraper ou, si vous avez décidé que vous souhaitez clarifier votre question: p> aa code> et les goûts p>
Essayez d'utiliser cette
if(checkRepeat ("aaaaaaaa"))
alert('Has Repeat!')
Ceci vérifiera si la chaîne a répété plus de deux fois:
function checkStr(str) {
str = str.replace(/\s+/g,"_");
return /(\S)(\1{2,})/g.test(str);
}
var char = "abcbdf..,,ddd,,,d,,,";
var tempArry={};
for (var i=0; i < char.length; i++) {
if (tempArry[char[i]]) {
tempArry[char[i]].push(char[i]);
} else {
tempArry[char[i]] = [];
tempArry[char[i]].push(char[i]);
}
}
console.log(tempArry);
This will even return the number of repeated characters also.
J'ai résolu que l'utilisation d'une boucle p> //This check if a string has 3 repeated letters, if yes return true, instead return false
//If you want more than 3 to check just add another validation in the if check
function stringCheck (string) {
for (var i = 0; i < string.length; i++)
if (string[i]===string[i+1] && string[i+1]===string[i+2])
return true
return false
}
var str1 = "hello word" //expected false
var str2 = "helllo word" //expredted true
var str3 = "123 blAAbA" //exprected false
var str4 = "hahaha haaa" //exprected true
console.log(str1, "<==", stringCheck(str1))
console.log(str2, "<==", stringCheck(str2))
console.log(str3, "<==", stringCheck(str3))
console.log(str4, "<==", stringCheck(str4))
Devez-vous envisager des cas de répétition valables comme Double L ou Double C?
oui tous les endroits où la lettre se répète plus d'une fois
Est-ce que tout ce que vous voulez savoir s'il y en a? Ou voulez-vous savoir ce qu'ils sont?