Ich versuche zu finden, wenn eine gegebene Ziffernfolge eine Folge von drei identischen Ziffern enthält.Javascript - Verwenden von verketteten String in Regex
einer for-Schleife, jede Ziffer im String erhält eine eigene Darstellung einer Ziffernfolge drei, die dann gegen die Saite geprüft Regex mit:
var str = "6854777322"
for(var i=0; i<str.length; i++)
{
seqToCompare = str[i] + str[i] + str[i];
var re = new RegExp(seqToCompare, "g");
if(str.match(re).length == 1)
{
match = str[i];
}
}
console.log(match)
Das Ergebnis sollte sieben sein (wenn ich 777 setzen in seqToCompare würde es funktionieren), aber es sieht so aus, als ob die Verkettung dazu führt, dass es fehlschlägt. Die Konsole zeigt an, dass die Eigenschaft length für null nicht gelesen werden kann.
Sie können es hier testen - https://jsfiddle.net/kwnL7vLs/
Ich versuchte .toString, seqToCompare in Regex-Format einstellen und es sogar als int Parsen (aus Verzweiflung nicht zu wissen, was mehr zu tun ...)
Wenn das Spiel ausfällt, ist das Ergebnis 'null' und bei der ersten Iteration, wird das Spiel nicht. – vlaz
Danke! Ich war mir sicher, dass es ** 0 ** anstatt ** null ** zurückgegeben hat, weil ein Vergleich stattgefunden hat. –