zoukankan      html  css  js  c++  java
  • 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>
    

      

    
    


  • 相关阅读:
    碰撞检测 :Polygon
    碰撞检测 :Line
    碰撞检测 :Rectangle
    碰撞检测:Point
    Canvas 绘制 1 px 直线模糊(非高清屏)的问题
    threading之线程的开始,暂停和退出
    win10利用hexo+gitee搭建博客
    Fullscreen API与DOM监听API
    <el-input>只能输入数字,保留两位小数
    谷歌浏览器查看gitee和github代码的插件
  • 原文地址:https://www.cnblogs.com/bravolove/p/5595173.html
Copyright © 2011-2022 走看看