JS排序

作者: 何大必 | 来源:发表于2018-09-17 20:29 被阅读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))

排序结果:


image.png

超有用的链接,没事再看看吧


根据对象的某一属性排序

//假设有一个数组对象,根据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")));

排序结果:

image.png
参考链接

相关文章

网友评论

      本文标题:JS排序

      本文链接:https://www.haomeiwen.com/subject/evrdnftx.html