Отсортировать массив
Доброго времени суток.
Мне необходимо отсортировать массив по числовым результатам каждого элемента, а затем выдать title этих результатов по убыванию. Я смог лишь отсортировать по числовым результатам, но как теперь вытащить у них title, сохроняя сортировку, не представляю и прошу у вас помощи. Вот пример: var driver = { title: 'водитель', result: 5 }; var spaceman = { title: 'космонафт', result: 2 }; var doctor = { title: 'доктор', result: 8 }; var resultArray = [driver.result, spaceman.result, doctor.result]; resultArray.sort(function(a,b){return b - a}); console.log(resultArray); console.log('Здесь должны быть их title по убыванию'); |
Цитата:
Или просто вывести "элементы массива в обратном порядке"? |
var driver = { title: 'водитель', result: 5 }; var spaceman = { title: 'космонафт', result: 2 }; var doctor = { title: 'доктор', result: 8 }; var resultArray = [driver, spaceman, doctor]; resultArray.sort(function(a,b){return b.result - a.result}); console.log(resultArray); |
Цитата:
Тогда ещё один вопрос: есть ли возможность в строку: var resultArray = [driver, spaceman, doctor]; не ставить по одной переменной, а как-то объединить их в другую переменную и вывести в этой строке. Что-то типо: var results { var driver: { title: 'водитель', result: 5 }, var spaceman = { title: 'космонафт', result: 2 }, var doctor = { title: 'доктор', result: 8 } } var resultArray = [results]; resultArray.sort(function(a,b){return b.result - a.result}); |
Цитата:
|
var resultArray = [ { title: 'водитель', result: 5 }, { title: 'космонафт', result: 2 }, { title: 'доктор', result: 8 } ] resultArray.sort(function(a,b){return b.result - a.result}); console.log(resultArray) |
Цитата:
|
Часовой пояс GMT +3, время: 00:18. |