从大到小(或从小到大)排列一个数组中的数字
代码:(从大到小排列)
var arr = [1,3,2,5,10];
var result = arr.sort(function(x,y){
return x-y;
})
console.log(result);
若要实现从小到大排列,用(y-x)即可。
sort()的用法:
sort() 排序;对数组中的元素进行排列,默认是以字符串的规则进行从小到大排序;
可接收一个参数:自定义规则排序。
参数的要求:
1.参数必须是一个函数;
2.函数必须有返回值;
3.返回值必须是number类型,但NaN除外。
排序规则:
1.每次从数组中挑选出两个元素传入函数中,进行比较,直到所有进行排列的元素都被挑选完;
2.如果返回值是一个正数,就交换这两个元素的位置;
3.如果返回值是一个负数或0,就不交换位置。
冒泡排序方法:
var array = [5,4,3,2,1,6];
var temp = 0;
// 冒泡排序
// 从小到大
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < array.length - 1; j++) {
if (array[j] > array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
console.log(array);
// 从大到小
for (var i = 0; i < array.length; i++) {
for (var j = 0; j < array.length-1; j++) {
if (array[j] < array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
console.info(array);