I have array of objects that looks like this:
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"}
}]
I want to sort this array by name(inside key object) and value(inside value object). Result of sort by name should return this result:
[{
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"}
}]
And result of sort by value should look like this:
[{ 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"}
}]
I tried this for sort by name:
array.sort(a,b){
return a.key["name"] - b.key["name"];
}
And this for sort by value:
array.sort(a,b){
return a.key["value"] - b.key["value"];
}
but it doesn't work. How can I sort this array?