Verschiebung nach rechts zu N
positions == Verschiebung nach links zu array.length - N
positions.
Um also nach rechts auf 2 Positionen für Ihr Array zu wechseln, verschieben Sie es einfach nach links auf 3 Positionen.
Es gibt keinen Grund, eine andere Funktion zu implementieren, sobald Sie bereits eine Funktion haben. Plus-Lösungen mit shift/unshift/pop
in einer Schleife sind kaum so effizient wie splice + concat
Mit .concat()
erstellen Sie ein neues Array und ersetzen das alte. Das Problem dabei ist, dass wenn Sie andere Verweise auf das Array haben, diese nicht aktualisiert werden, so dass sie immer noch die unverschobene Version enthalten.
Um eine Verschiebung nach rechts vorzunehmen und das vorhandene Array tatsächlich zu mutieren, können Sie Folgendes tun:
%Vor% Die Methode unshift()
ist variadisch, und .apply
lässt Sie mehrere Argumente übergeben, die in einer Array-ähnlichen Sammlung gespeichert sind.
Das .splice()
mutiert also das Array, indem es die letzten beiden entfernt und sie zurückgibt, und .unshift()
mutiert das Array, indem es die von .splice()
an den Anfang zurückgegebenen hinzufügt.
Die linke Verschiebung würde ähnlich wie die rechte verschoben werden, da .push()
ebenfalls variabel ist:
Tags und Links javascript