初学者在此!
最近遇到了一个问题。基本上,程序需要按照对象的一个字段对数组进行排序,但不能使用sort函数。我尝试了使用冒泡排序算法编写这段代码,但似乎并没有起作用:
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
变量。尝试将var swapped
替换为var swapped = false
。 - mfaerevaagsort
会更快。https://dev59.com/UXNA5IYBdhLWcg3wAI3d#1129270 - b1_