Создайте функцию ageSort(people), которая будет получать массив объектов и сортировать их по полю age.
Например:
var vasya = { name: "Вася Петров", age: 23 };
var masha = { name: "Маша Сидорова", age: 18 };
var vovochka = { name: "Вовочка", age: 6 };
var people = [ vasya , masha , vovochka ];
ageSort(people); // теперь people: [ vovochka , masha , vasya ]
Выведите массив после сортировки.
Решение
Решение
Для сортировки объявим вспомогательную функцию ageSort, которая сравнивает объекты по полю age:
function ageCompare(a, b) {
if (a.age > b.age) return 1;
if (a.age < b.age) return -1;
return 0;
}
*!*
// Наша функция сортировки
function ageSort(people) {
people.sort(ageCompare)
}
*/!*
// проверка
var vasya = { name: "Вася Петров", age: 23 };
var masha = { name: "Маша Сидорова", age: 18 };
var vovochka = { name: "Вовочка", age: 6 };
var people = [ vasya , masha , vovochka ];
ageSort(people)
// вывести
for(var i=0; i<people.length; i++) {
alert(people[i].name)
}
Более короткий вариант
Функцию сравнения можно было бы сделать короче.
Альтернативный вариант сортировки:
people.sort(function(a,b) { return a.age - b.age; });
#195