2016-05-06 26 views
2

Ich versuche, eine unsortierte Version eines Arrays auszudrucken und eine sortierte Version von Array mit diesem Code:Wie sortiere ich ein Array?

var sortArrayNumber = function(a, b) { 
 
    return a - b; 
 
}; 
 

 
var array = [5, 2, 1044, 3, 126]; 
 
var sortedArray = []; 
 

 
sortedArray = array; 
 

 
sortedArray.sort(sortArrayNumber); 
 

 
document.write(array + " and " + sortedArray);

Dies ist nicht der eigentliche Code, ich werde benutze es, ich teste es nur. Und wenn ich es testen jsfiddle verwenden, es gibt

2,3,5,126,1044 and 2,3,5,126,1044 

Aber ich möchte es Ausgabe

5,2,1044,3,126 and 2,3,5,126,1044 

Also, wie verhindere ich es aus, das zu tun?

BTW, ich unterrichte selbst mich JavaScript so mein Wissen über sie ist nicht groß

+0

"Sortieren" sortiert das Array an Ort und Stelle. Sie müssen das Array klonen, bevor Sie es sortieren. Siehe [Kopieren von Array nach Wert in JavaScript] (http://stackoverflow.com/q/7486085/218196) –

+0

@FelixKling machen Sie eine Antwort :) –

+0

mögliche Duplikate von: http://Stackoverflow.com/q/7486085/ 1715004 –

Antwort

3

Sie müssen sich mit Array#slice die Art auf einer Kopie des ursprünglichen Arrays anzuwenden,

Die Methode slice() gibt eine flache Kopie eines Teils eines Arrays in ein neues Array-Objekt zurück.

weil Sortierung funktioniert.

Verwandte Themen