JS - Endlosschleife

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • JS - Endlosschleife

    Hi,

    also ich möchte von einer Zeichenkette einzellne Zeichen durch um 1 erhöhten Unicodezeichen ersetzen. In etwa so:

    Quellcode

    1. var eingabe = "Dies ist ein Test";
    2. for(i=0; i<=eingabe.length; i++) {
    3. var ersetzen = eingabe.charCodeAt(i)+1;
    4. eingabe = eingabe.replace(eingabe.charAt(i), String.fromCharCode(ersetzen));
    5. }
    6. alert(eingabe);


    Jetzt habe ich aber das Problem, dass das ganze in eine Endlosschleife endet. Habt ihr ne Idee wie ich das am besten lösen bzw. wie ich das am geschicktesten anstelle?

    EDIT:
    Also ich habe jetzt eine andere Lösung mit Hilfe eines Arrays gefunden, allerdings würde ich die Variante mit replace auch gerne hinbekommen.

    So geht's auch...

    Quellcode

    1. var eingabe = "Dies ist ein Test";
    2. var zeichen = new Array;
    3. for(i=0; i<=eingabe.length; i++) {
    4. ucode = eingabe.charCodeAt(i)+1;
    5. if(ucode == 33) {
    6. zeichen[i] = " ";
    7. } else {
    8. zeichen[i] = String.fromCharCode(ucode);
    9. }
    10. }
    11. alert(zeichen.join(""));
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Wuff ()

  • Hi,

    willst du einfach nur jeden Buchstabenwert um eins erhöhen?
    Dann baue dir deinen neuen String zusammen.

    Quellcode

    1. for(i=0; i<=eingabe.length; i++) {
    2. neuerString += eingabe.charCodeAt(i)+1;
    3. }


    Oder soll es teilrekursiv sein?
    Dann mach es so:
    var ausgabe = eingabe;

    Quellcode

    1. var ausgabe = eingabe;
    2. for(i=0; i<=eingabe.length; i++) {
    3. var ersetzen = eingabe.charCodeAt(i)+1;
    4. ausgabe = ausgabe.replace(eingabe.charAt(i), String.fromCharCode(ersetzen));
    5. }