使数组进行排序的方法sort(),reverse()和冒泡排序

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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值