Ich brauche ein Array zu sortieren, basierend auf dem Wert sowie der Index jedes Elements, so würde Ich mag so etwas tun:Holen Sie sich das Basisfeld eines numerisches Array
let a = [4,9,5,7].enumerate()
let b = a.sort { ... }
Aber dann Ich muss b zurück in ein Array ohne die Indizes konvertieren. Meine aktuelle Lösung ist
let c = b.map { $0.1 }
Aber ich habe mich gefragt, ob es ein einfacherer Weg ist, da b vom Typ EnumerateSequence<Array<Int>>
und hat eine Eigenschaft base
, die das Array enthält, die ich will. Leider base
ist internal
und ich weiß nicht, ob es irgendeine Methode gibt, die zurückbringt, was ich will.
Hinweis: Sie haben vielleicht bemerkt, dass diese Swift ist 2. Während ich eine Lösung in Swift 2 müssen (falls vorhanden), ich bin natürlich interessiert, ob es einen Unterschied zwischen Swift 2 und Swift 3.
Sind Sie sicher, dass 'b' vom Typ' EnumerateSequence' ist? 'sort' gibt ein Array zurück, also ist nach dem Sortieren die' EnumerateSequence' unwiederbringlich weg. Selbst wenn die "Basis" -Eigenschaft öffentlich wäre, würde Ihnen das in diesem Fall nicht helfen. –
Am interessantesten @OleBegemann. Du hast recht, ich muss irgendwie den Typ der falschen Instanz überprüft haben. Danke für diesen hilfreichen Hinweis. – mmgross