Kehren Sie einen String in Javascript um.

Apr 22 2023
Die in diesem Artikel behandelten String-Methoden sind Split(), Reverse() und Join(). Die wichtigsten Javascript-Fragen werden sich in einem Vorstellungsgespräch auf Strings beziehen, daher möchten wir sicherstellen, dass wir diese Hacks über Strings lernen.

Die in diesem Artikel behandelten String-Methoden sind Split() , Reverse() und Join() .

Die wichtigsten Javascript-Fragen werden sich in einem Vorstellungsgespräch auf Strings beziehen, daher möchten wir sicherstellen, dass wir diese Hacks über Strings lernen. Haben Sie sich jemals darüber gewundert, dass String-Methoden funktionieren und insbesondere dieser Code? .

const stringToReverse = "DonkeyBonkey";

const reversedString =stringToReverse.split("").reverse().join("");

console.log(reversedString);

// output = "yeknoByeknoD"

Methode, die wir behandeln werden:

  1. Teilt
  2. umkehren
  3. verbinden

Die Split-Methode nimmt ein Muster der Zeichenfolge und ermittelt die Teilzeichenfolge, indem sie nach dem Muster sucht. In diesem Artikel werden wir keine der von Javascript bereitgestellten String-Methoden verwenden, sondern wie , schauen wir uns das an. Die Split-Methode verwendet Einrückungen, was leere Zeichenfolgen bedeutet. argumentWenn Sie „“ als leere Zeichenfolge übergeben, werden alle Elemente im Argument, das Sie übergeben, aufgeteilt und als Array zurückgegeben. Wenn Sie in der leeren Zeichenfolge eine Lücke wie dieses „“ lassen, teilt die Split-Methode alle Elemente auf, deren Wert ein leeres Zeichenfolgenelement enthält, und fügt die Werte vor der leeren Zeichenfolge hinzu und fügt sie als Wert in das Array ein und geht weiter. Wenn der Einzug nicht übergeben wird, werden alle Elemente zusammengefügt und als Einzelwert-Array zurückgegeben.

const stringToBeSplitted = "Javascript string methods";

console.log(stringToBeSplitted.split("")); // ['J', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 'm', 'e', 't', 'h', 'o', 'd', 's']
console.log(stringToBeSplitted.split(" ")); // ['Javascript', 'string', 'methods']
console.log(stringToBeSplitted.split()); // ['Javascript string methods']

// split the string without using string methods.

class Strings {
  constructor(stringToReverse) {
    this.stringToReverse = stringToReverse;
    this.splittedString = [];
    this.indexedString = "";
  }

  Split(indent) {
    if (this.splittedString.length > 0) this.splittedString = [];  
    if (typeof this.stringToReverse !== 'string') return "Not a string data stype!";  
    if (indent === undefined) {
        this.splittedString = [this.stringToReverse];
        return this.splittedString;
    } else if (indent === "") {
      for (let i = 0; i < this.stringToReverse.length; i++) {
        this.splittedString.push(this.stringToReverse[i]);
      }
      return this.splittedString;
    } else {
      for (let i = 0; i < this.stringToReverse.length; i++) {
        if (this.stringToReverse[i].valueOf() !== " ") {
          this.indexedString += this.stringToReverse[i];
          if (i === this.stringToReverse.length - 1)
            this.splittedString.push(this.indexedString);
        } else {
          this.splittedString.push(this.indexedString);
          this.indexedString = "";
        }
      }
      return this.splittedString;
    }
  }
}

const strings = new Strings(stringToBeSplitted);
console.log(strings.Split("")); // ['J', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 'm', 'e', 't', 'h', 'o', 'd', 's']
console.log(strings.Split(" ")); // [ 'Javascript', 'string', 'methods' ]
console.log(strings.Split()); // [ 'Javascript string methods' ]

Die Reverse-Methode wird zum Umkehren des Arrays verwendet, die ein Array wie im Argument annimmt, das Array durchläuft und das Element vom linken zum rechten Index vertauscht. Diese Methode wurde mithilfe des Blasensortierungsalgorithmus sortiert .

const arrayToReverse = [1,2,3,4,5];

console.log(arrayToReverse.reverse()); // [5, 4, 3, 2, 1]

// reverse the array without using reverse() method.

class Strings {
  constructor() {
    this.splitIndent;
    this.reversedArray = [];
  }

  Reverse(array) {
    let iteratrionTimes = array.length;
    for (let i = 0; i < iteratrionTimes; i++) {
      let temp = array[i];
      this.reversedArray.push(
        array[array.length - 1]
      );
      array[array.length - 1] = temp;
      array.pop();
    }
    return this.reversedArray;
  }
}

const strings = new Strings();
console.log(strings.Reverse([1,2,3,4,5])); // [5, 4, 3, 2, 1]

Die Join-Methode verwendet ein Array als Argument, kombiniert es zu einem String und gibt ihn zurück. Nimmt ein Array-Muster und durchläuft jedes Element im Array, wobei der Brute-Force-Algorithmus verwendet wird . Der Einzug spielt bei dieser Methode eine wichtige Rolle. Die zurückgegebene Zeichenfolge enthält den Einzug mit Leerzeichen, den wir als Argument übergeben haben. Wenn der Einzug nicht übergeben wurde, erfolgt die Konvertierung vom Objektdatentyp, d. h. vom benutzerdefinierten Datentyp in den Zeichenfolgendatentyp.

const arrayToJoin = [1,2,3,4,5];

console.log(arrayToJoin.join()); // '1,2,3,4,5'
console.log(arrayToJoin.join("")) // '12345'
console.log(arrayToJoin.join(" ")) // '1 2 3 4 5'


class Strings {
  Join(array, indent) {
    let joinedString = "";  
    let stringArr = String(array)
    if (indent === undefined) {
        return stringArr;
    } else if (indent === "") {
        for (let i = 0; i < stringArr.length; i++) {
            joinedString += i % 2 === 0 ? stringArr[i] : "";
        }
    } else {
        for (let i = 0; i < stringArr.length; i++) {
            joinedString += stringArr[i] === "," ? indent : stringArr[i]
        }
    }
     return joinedString
  }
}

const strings = new Strings();
console.log(strings.Join([1,2,3,4,5])); // '1,2,3,4,5'
console.log(strings.Join([1,2,3,4,5], "")); // '12345'
console.log(strings.Join([1,2,3,4,5], " ")); //'1 2 3 4 5'

Hier ist der vollständige Code, den Sie suchen. Dieser Code kann ebenfalls optimiert werden, aber ich habe ihn zum besseren Verständnis jetzt freigelassen. Sie können diesen Code kopieren und ausführen, um zu erfahren, wie das funktioniert .

const StringToReverse = "Donkey Bonkey";
console.log(StringToReverse.split("").reverse().join(""));

class Strings {
  constructor(stringToReverse) {
    this.splitIndent;
    this.stringToReverse = stringToReverse;
    this.splittedString = [];
    this.reversedArray = [];
    this.indexedString = "";
  }

  Split(indent) {
    this.splitIndent = indent;
    if (indent === "") {
      for (let i = 0; i < this.stringToReverse.length; i++) {
        this.splittedString.push(this.stringToReverse[i]);
      }
      return this;
    } else {
      for (let i = 0; i < this.stringToReverse.length; i++) {
        if (this.stringToReverse[i].valueOf() !== " ") {
          this.indexedString += this.stringToReverse[i];
          if (i === this.stringToReverse.length - 1)
            this.splittedString.push(this.indexedString);
        } else {
          this.splittedString.push(this.indexedString);
          this.indexedString = "";
        }
      }
      return this;
    }
  }

  Reverse() {
    let iteratrionTimes = this.splittedString.length;
    for (let i = 0; i < iteratrionTimes; i++) {
      let temp = this.splittedString[i];
      this.reversedArray.push(
        this.splittedString[this.splittedString.length - 1]
      );
      this.splittedString[this.splittedString.length - 1] = temp;
      this.splittedString.pop();
    }
    return this;
  }

  Join(indent) {
    let strArray = String(this.reversedArray);
    let reversedString = "";
    if (indent === undefined) return strArray
    else if (this.splitIndent === "") {
      for (let i = 0; i < strArray.length; i++) {
        reversedString += i % 2 === 0 ? strArray[i] : indent;
      }
    } else {
      for (let i = 0; i < strArray.length; i++) {
        reversedString += strArray[i] === "," ? indent : strArray[i];
      }
    }
    return reversedString;
  }
}

const strings = new Strings(StringToReverse);
console.log(strings.Split("").Reverse().Join(""));

Dieser Artikel basiert hauptsächlich auf der Funktionsweise der String-Methoden. Javascript-String-Methoden sind einfach zu verwenden und sorgen dafür, dass unser Code sauberer und verständlicher aussieht. Gleichzeitig müssen wir als Entwickler wissen, wie diese Methoden funktionieren. Vielen Dank, dass Sie diesen Artikel gelesen haben ♡.