Heim > Web-Frontend > js-Tutorial > Hauptteil

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

王林
Freigeben: 2023-08-26 10:41:13
nach vorne
1465 Leute haben es durchsucht

在 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]];
Nach dem Login kopieren

sind, sollte die Ausgabe -

const output = 'cab';
Nach dem Login kopieren

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));
Nach dem Login kopieren

Ausgabe

in der Konsole Die Ausgabe wird sein -

cab
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage