I Array von Objekten, die wie folgt aussieht:Javascript - Sort-Objekte Array nach Schlüsseln von Objekteigenschaft
var array = [{
key: {name: "C Some name", id: 123},
value: {value: 1, element:"some element"}
}, {
key: {name: "A Name 2", id: 1234},
value: {value: 4, element:"some element 2"}
}, {
key: {name: "B Other name", id: 1235},
value: {value: 2, element:"some element 3"}
}]
Ich möchte nach Name dieses Array sortieren (innen Schlüsselobjekt) und Wert (innerhalb Wertobjekt) . Ergebnis sortiert nach Namen soll dieses Ergebnis zurück:
[{
key: {name: "A Name 2", id: 1234},
value: {value: 4, element:"some element 2"}
}, {
key: {name: "B Other name", id: 1235},
value: {value: 2, element:"some element 3"}
}, {
key: {name: "C Some name", id: 123},
value: {value: 1, element:"some element"}
}]
und Ergebnis sortiert nach Wert sollte wie folgt aussehen:
[{ key: {name: "C Some name", id: 123},
value: {value: 1, element:"some element"}
}, {
key: {name: "B Other name", id: 1235},
value: {value: 2, element:"some element 3"}
}, {
key: {name: "A Name 2", id: 1234},
value: {value: 4, element:"some element 2"}
}]
Ich habe versucht, dies für sortiert nach Namen:
array.sort(a,b){
return a.key["name"] - b.key["name"];
}
Und das für die Sortierung nach Wert:
array.sort(a,b){
return a.key["value"] - b.key["value"];
}
aber es funktioniert nicht. Wie kann ich dieses Array sortieren?
'a.key [name]' bedeutet, dass Sie eine Variable namens ' name' und Sie möchten auf eine Eigenschaft von 'a.key' mit diesem passenden Namen zugreifen. Haben Sie 'a.key.name' versucht, den korrekten Wert zu erhalten? –
Ich sollte wahrscheinlich in meine Frage setzen a.key ["name"] was ist gleich a.key.name – snoopy25