начинающий здесь!Javascript пузырь вид массива с объектами
Недавно наткнулся на проблему. В принципе, программе необходимо отсортировать массив объектов одним из своих полей, не используя функцию сортировки. Я попробовал этот код, используя алгоритм пузырьковой сортировки, но не кажется, что это будет работать:
var arrayOfPeople = [
{name: "Rick", age: 30, place: 2},
{name: "Alan", age: 25, place: 1},
{name: "Joe", age: 40, place: 4},
{name: "Dave", age: 35, place: 3}
];
function bubbleSort(a,par)
{
var swapped;
do {
swapped = false;
for (var i = 0; i < a.length - 1; i++) {
if (a[i].par > a[i + 1].par) {
var temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
swapped = true;
}
}
} while (swapped);
}
bubbleSort(arrayOfPeople,'age');
for (i = 0; i < arrayOfPeople.length; i++) {
console.log(arrayOfPeople[i]);
}
Я думаю, что я делаю что-то неправильно синтаксис мудрым. Поймите любую обратную связь.
Это может быть, что вы не инициализируется вы 'swapped'-variable для цикла do-while. Попробуйте заменить 'var swapped' на' var swapped = false' – mfaerevaag
Использовать собственный 'sort' будет быстрее http://stackoverflow.com/a/1129270/1346222 – nk9