冒泡排序
将数组中的相邻两个元素两两比较,通过比较移动大小位置
function MaoPaoSort(arr) {
for (var i = 0; i <= arr.length; i++) {
for (var n = 0; n <= arr.length - i; n++) {
if (arr[n] > arr[n + 1]) {
var kong = arr[n];
arr[n] = arr[n + 1];
arr[n + 1] = kong;
}
}
}
}
var arr = [3, 5, 1, 2, 7, 8, 4, 5, 3, 4];
MaoPaoSort(arr);
console.log(arr); //[1, 2, 3, 3, 4, 4, 5, 5, 7, 8]
插队排序
将要排序的数组分成两部分,从后面的部分取出索引最小的元素插入到前一部分的适当位置
function InsertSort(arr) {
let len = arr.length;
let preIndex, current;
for (let i = 1; i < len; i++) {
preIndex = i - 1;
current = arr[i];
while (preIndex >= 0 && current < arr[preIndex]) {
arr[preIndex + 1] = arr[preIndex];
preIndex--;
}
arr[preIndex + 1] = current;
}
return arr;
}
var arr = [3,5,7,1,4,56,12,78,25,0,9,8,42,37];
InsertSort(arr);
es6新增sort方法
goods.sort((a,b)=>{
if (this.sort==1) {
return a.price -b.price
} else {
return b.price-a.price
}
})