js排序的几个常用方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/document_dom/article/details/88537500

js排序的几个常用方法

var arr = [{
            age: 12,
            name: 111
        }, {
            age: 28,
            name: 222
        }, {
            age: 97,
            name: 333
        }, {
            age: 567,
            name: 444
        }, {
            age: 7,
            name: 555
        }, {
            age: 182,
            name: 666
        }];

js自带sort方法排序

arr.sort(function(s1,s2){
            return s1.age-s2.age;
        })

快速排序

function sort(arr) {
            if (arr.length <= 1) {
                return arr;
            }
            var text = arr[0].age;
            var leftArr = [];
            var rightArr = [];
            for (var i = 1; i < arr.length; i++) {
                if (arr[i].age < text) {
                    leftArr.push(arr[i]);
                } else {
                    rightArr.push(arr[i]);
                }
            }
            return [].concat(sort(leftArr), [arr[0]], sort(rightArr));
        }

冒泡排序

function sort(arr){
	var a=null;
	         for(var i=0;i<arr.length;i++){
	             for(var j=0;j<arr.length-i-1;j++){
	                 if(arr[j].age > arr[j+1].age){
	                     a=arr[j+1];
	                     arr[j+1]=arr[j];
	                     arr[j]=a;
	                 }
	             }
	         }
	         return arr;
	     }

选择排序

function sort(arr) {
            for (var i = 0; i < arr.length - 1; i++) {
                var min = i;
                for (var j = i + 1; j < arr.length; j++) {
                    if (arr[min].age > arr[j].age) {
                        min = j;
                    }
                }
                var text = arr[min];
                arr[min] = arr[i];
                arr[i] = text;
            }
            return arr;
        }

猜你喜欢

转载自blog.csdn.net/document_dom/article/details/88537500