sort()
sort() 方法用于对数组的元素进行排序。
arrayObject.sort(sortby)
sortby可选。规定排序顺序。必须是函数。
若 a 小于 b,即 a - b 小于零,则返回一个小于零的值,数组将按照升序排列。
(arr.sort((a,b) => a < b ? -1:a > b ? 1:0);升序排列)
若 a 等于 b,返回 0。则不排序
若 a 大于 b, 即 a - b 大于零,则返回一个大于零的值,数组将按照降序排列。
(arr.sort((a,b) => a < b ? 1:a > b ? -1:0);降序排列)
var arr = new Array(6);
arr[0] = "10";
arr[1] = "5";
arr[2] = "40";
arr[3] = "25";
arr[4] = "1000";
arr[5] = "1";
console.log(arr);
console.log(arr.sort((a, b) => a - b));
更准确的写法
arr.sort((a,b) => a < b ? -1:a > b ? 1:0);升序排列
arr.sort((a,b) => a < b ? 1:a > b ? -1:0);降序排列
[ '10', '5', '40', '25', '1000', '1' ]
[ '1', '5', '10', '25', '40', '1000' ]
var arr1 = [
{name:'张飞',age:34},
{name:'关羽',age:30},
{name:'刘备',age:60}
]
function compare(prop){
return function(a,b) {
var valuel=a[prop]
var value2=b[prop]
return valuel-value2
}
}
arr1.sort(compare('age'))
console.log(arr1)
[
{ name: '关羽', age: 30 },
{ name: '张飞', age: 34 },
{ name: '刘备', age: 60 }
]
reverse()
reverse() 方法用于颠倒数组中元素的顺序。
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
console.log(fruits);
[ 'Mango', 'Apple', 'Orange', 'Banana' ]
冒泡排序算法(也就是升序或降序排序)
var array = [5, 4, 6, 7, 2, 1];
var temp = 0;
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < array.length - i; j++) {
if (array[j] > array[j + 1]) {
temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}
}
console.log(array);//[ 1, 2, 4, 5, 6, 7 ]