Отсортировать массив
Доброго времени суток.
Мне необходимо отсортировать массив по числовым результатам каждого элемента, а затем выдать 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, время: 20:05. |