У меня есть массив объектов, выглядит следующим образом:Javascript - сортировка объектов массива по ключу объекта недвижимости
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"}
}]
Я хочу, чтобы отсортировать этот массив по имени (внутри ключевого объекта) и значение (внутри объекта значения) , Результат сортировать по имени должен вернуть этот результат:
[{
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"}
}]
И результат сортировать по значению должен выглядеть следующим образом:
[{ 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"}
}]
Я попробовал это для сортировать по имени:
array.sort(a,b){
return a.key["name"] - b.key["name"];
}
И это для сортировки по значению:
array.sort(a,b){
return a.key["value"] - b.key["value"];
}
но не работает. Как я могу отсортировать этот массив?
'a.key [имя]' означает, что у вас есть какой-то переменную ' name', и вы хотите получить доступ к свойству 'a.key' с этим совпадающим именем. Вы пробовали 'a.key.name' для получения правильного значения? –
Я должен, вероятно, задать в своем вопросе a.key ["name"] то, что равно a.key.name – snoopy25