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“
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));
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!