2 Stimmen

Verschieben aller Werte in einem Array um einen Index nach oben, wobei das verschobene letzte Element als erstes Element platziert wird

Ich bin mit dem unten stehenden Code in JS kämpfen bitte helfen:

Derzeit wird versucht, die

[20,30,40,50]

zu sein

[50,20,30,40]

irgendwelche Tipps?

Hier ist der Code, den ich so weit unten habe!

// A program to shift all the values in an array one index higher, with the displaced last element being placed as the first element

var test = [20,30,40,50];

for (i=0; i<test.length;i++)
{
    alert(test[i] + " is currently index: " + [i]); 
    }

test[0] = test[test.length-1];

for (i=0; i<test.length;i++)
{
    alert(test[i] + " is now index: " + [i+1]); 
    }

7voto

Dave Newton Punkte 156303

Tun Sie es einfach:

a.unshift(a.pop());

1voto

alex Punkte 457905

Nur um anders zu sein...

a.slice(-1).concat(a.slice(0, -1));

jsFiddle .

1voto

Luo Punkte 162

Eine andere Möglichkeit ist die Verwendung von splice(), allerdings nicht schön genug

arr.splice(0, 0, arr.splice(arr.length-1, 1));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X