JS排序
2018-09-17 本文已影响0人
何大必
js中的冒泡排序:
//交换元素
function swap(i,j,array){
var temp = array[j];
array[j] = array[i];
array[i] = temp;
}
function bubbleSort(array) {
var length = array.length, isSwap;
for (var i = 0; i < length; i++) { //正序
isSwap = false;
for (var j = 0; j < length - 1 - i; j++) { //正序
array[j] > array[j+1] && (isSwap = true) && swap(j,j+1,array);
}
if(!isSwap)
break;
}
return array;
}
var arr=[2,5,3,6,29];
console.log(bubbleSort(arr))
排序结果:

超有用的链接,没事再看看吧
根据对象的某一属性排序
//假设有一个数组对象,根据id从小到大排序
var list = [
{ name: "zhangsan", id: "45"},
{ name: "bocai", id: "21"},
{ name: "qingyi", id: "33"}
];
//定义一个函数
function compare(pro) {
return function (obj1, obj2) {
var val1 = obj1[pro];
var val2 = obj2[pro];
if (val1 < val2 ) { //正序
return 1;
} else if (val1 > val2 ) {
return -1;
} else {
return 0;
}
}
}
//打印排序结果方法
console.log(list.sort(compare("id")));
排序结果:

参考链接