Ein array Sortieren basierend auf ein array von ganzen zahlen
Sagen wir, ich habe ein array: [0,3,4,2,5,1]
.
Was ich tun möchte, ist ein array Sortieren wie:
["one", "two", "three", "four", "five", "six"]
So, dass die Reihenfolge entspricht dem ersten array.
Diese wäre die Ausgabe:
["one", "four", "five", "three", "six", "two"]
Gibt es eine einfache Möglichkeit, dies zu erreichen?
- Ihre Frage ist verwirrend, denn es hat nichts zu tun mit dem Sortieren. Sie halten das array in der gleichen Reihenfolge, nur map, die jedes element des Arrays in ein element eines anderen Arrays.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie etwas wie das hier tun:
JS:
Hinweis: das übernimmt die arrays, die Sie übergeben, in der gleichen grösse, würden Sie müssen hinzufügen einige zusätzliche Prüfungen, wenn dies nicht der Fall.
//Können Sie die Reihenfolge ein nicht indizierter-Eigenschaft des Arrays,
//und rufen array.bestellt()
Wurde ich gebeten, diese auf einem Telefon-interview. Dann tun Sie es, ohne anlegen eines weiteren array, angenommen, dass das array sehr groß ist. Ich weiß nicht, ob das ist die Antwort, da ich nicht in der Lage zu tun, auf den Anruf (verdammt!), aber hier ist was ich kam mit.
http://jsfiddle.net/innerb/RENjW/
Nicht sur, wie Sie Ihre erste Reihe, aber man könnte ein array von Objekten statt
[0,3,4,2,5,1]
:Vermeiden und zu verarbeiten.
Können Sie erste array als Verzeichnis für die Sortierung zweite map-Methode: