js 排序 SORT 各种方法

1.普通排序

<script>
    var array =[11,3,14,6,7,9];

    array.sort(function(a,b){
        return a-b;
    });
  alert(array);
</script>

2.排序json数组中对象的某个字段

<script>
    var array = [
        {name: 'a', phone: "13", value: 'val_4'},
        {name: 'b', phone: "5", value: 'val_3'},
        {name: 'd', phone:"9", value: 'val_2'},
        {name: 'c', phone: "12" , value: 'val_1'},
        {name: 'c', phone: "44" , value: 'val_1'},
        {name: 'c', phone:"34"  , value: 'val_1'},
        {name: 'c', phone: "54" , value: 'val_1'}
    ]
    array.sort(function(a,b){
        return a["phone"]*1-b["phone"]*1;
    });
    document.write(strhtml)

</script>

3. 排序json数组中对象的某个字段带逗号
<script>
    var data = [
        { ranking: 1, name: "Princeton University", count: "8,014"},
        { ranking: 2, name: "Harvard University", count: "19,882"},
        { ranking: 3, name: "Yale University", count: "12,109"},
        { ranking: 4, name: "Columbia University", count: "23,606"},
        { ranking: 4, name: "Stanford University", count: "18,136"},
        { ranking: 4, name: "University of Chicago", count: "12,539"},
        { ranking: 7, name: "Massachusetts Institute of Technology", count: "11,301"},
        { ranking: 8, name: "Duke University", count: "15,465"},
        { ranking: 8, name: "University of Pennsylvania", count: "21,358"}]

    data.sort(function(a,b){
        return ((a["count"].replace(",",""))*1)-((b["count"].replace(",","")*1));
    });

    var strhtml="";
    for(var i=0; i<data.length; i++) {
        strhtml += "<div class='item'><p>"+data[i].ranking+"</p><p>"+data[i].name+"</p><p>"+data[i].count+"</p></div>";
    }
    $(".table").append(strhtml);

</script>

  4.排序星星

<script>
	var arr =["*","##","&&","****","##*"];
	arr[7]="**";
	var newArr=[];
	var newIndex=0;
	//取出所有以*开头的数组元素
	for(var index=0;index<arr.length;index++){
		if(arr[index].startwith("*")){
			newArr[newIndex]=arr[index];
			newIndex++;
		}
	}
	//或者给他们传个比较器
	newArr.sort(function(a,b){
		if(a.length>b.length){
			
			return 1;//降序排列
		}else{
			return -1;//升序排列
		}
	});
	
	
	//对所有的*的元素的按照长度来排序; 冒泡排序
	for(var j=0;j<newArr.length;j++){
		for(var k=1;k<newArr.length-1;k++){
			if(newArr[j].length>newArr[k].length){
				var temp="";
				temp=newArr[j];
				newArr[j]=newArr[k];
				newArr[k]=temp;
			}
		}
	}

</script>

  




原文地址:https://www.cnblogs.com/bravolove/p/5595173.html