1const list = [
2 { color: 'white', size: 'XXL' },
3 { color: 'red', size: 'XL' },
4 { color: 'black', size: 'M' }
5]
6
7list.sort((a, b) => (a.color > b.color) ? 1 : -1)
1const books = [
2 {id: 1, name: 'The Lord of the Rings'},
3 {id: 2, name: 'A Tale of Two Cities'},
4 {id: 3, name: 'Don Quixote'},
5 {id: 4, name: 'The Hobbit'}
6]
7
8compareObjects(object1, object2, key) {
9 const obj1 = object1[key].toUpperCase()
10 const obj2 = object2[key].toUpperCase()
11
12 if (obj1 < obj2) {
13 return -1
14 }
15 if (obj1 > obj2) {
16 return 1
17 }
18 return 0
19}
20
21books.sort((book1, book2) => {
22 return compareObjects(book1, book2, 'name')
23})
24
25// Result:
26// {id: 2, name: 'A Tale of Two Cities'}
27// {id: 3, name: 'Don Quixote'}
28// {id: 4, name: 'The Hobbit'}
29// {id: 1, name: 'The Lord of the Rings'}
1function sortByDate( a, b ) {
2 if ( a.created_at < b.created_at ){
3 return -1;
4 }
5 if ( a.created_at > b.created_at ){
6 return 1;
7 }
8 return 0;
9}
10
11myDates.sort(sortByDate);//myDates is not sorted.
1list.sort((a, b) => (a.color > b.color) ? 1 : (a.color === b.color) ? ((a.size > b.size) ? 1 : -1) : -1 )
2