Heim  >  Artikel  >  Web-Frontend  >  Führen Sie eine Verschiebung innerhalb einer Zeichenfolge in JavaScript durch

Führen Sie eine Verschiebung innerhalb einer Zeichenfolge in JavaScript durch

王林
王林nach vorne
2023-08-26 10:41:131466Durchsuche

在 JavaScript 中执行字符串内的移位

Angenommen, wir haben eine Zeichenfolge str, die englische Kleinbuchstaben enthält, und ein Array arr, wobei arr[i] = [direction, amount] −

  • direction 0 (nach links verschieben) oder 1 (nach rechts verschieben) sein kann.

  • amount ist der Betrag, um den die Zeichenfolge s verschoben werden soll.

  • Eine Verschiebung um 1 nach links bedeutet, dass das erste Zeichen von s entfernt und am Ende angehängt wird.

  • In ähnlicher Weise bedeutet eine Verschiebung um 1 nach rechts, dass das erste Zeichen von s entfernt und am Ende angehängt wird. Entfernen Sie das letzte Zeichen von s und fügen Sie es am Anfang hinzu.

Wir müssen eine JavaScript-Funktion schreiben, die eine Zeichenfolge als ersten Parameter und Array-Daten mit einer Verschiebung als zweiten Parameter akzeptiert.

Die Funktion sollte das Array durchlaufen, die erforderlichen Verschiebungen in der Zeichenfolge durchführen und schließlich die neue Zeichenfolge zurückgeben.

Zum Beispiel -

Wenn die Eingabezeichenfolge und das Array -

const str = 'abc';
const arr = [[0, 1], [1, 2]];

sind, sollte die Ausgabe -

const output = 'cab';

lauten, da

[0,1] eine Verschiebung um 1 nach links bedeutet. „abc“ -> „bca“

[1,2] bedeutet Bewegung nach rechts um 2. „bca“ -> „cab“

Beispiel

Der Code ist -

Live-Demonstration

const str = 'abc';
const arr = [[0, 1], [1, 2]];
const performShifts = (str = '', arr = []) => {
   if(str.length < 2){
      return str;
   };
   let right = 0
   let left = 0;
   for(let sub of arr){
      if(sub[0] == 0){
         left += sub[1];
      }else{
         right += sub[1];
      };
   };
   if(right === left){
      return str;
   }
   if(right > left){
      right = right - left;
      right = right % str.length;
      return str.substring(str.length - right) + str.substring(0,
      str.length - right);
   }else{
      left = left - right;
      left = left % str.length;
      return str.substring(left) + str.substring(0,left);
   };
};
console.log(performShifts(str, arr));

Ausgabe

in der Konsole Die Ausgabe wird sein -

cab

Das obige ist der detaillierte Inhalt vonFühren Sie eine Verschiebung innerhalb einer Zeichenfolge in JavaScript durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen