zoukankan      html  css  js  c++  java
  • js对象排序

    
    var map = {
        "13": "13米",
        "14": "14米",
        "15": "15米",
        "17": "17米",
        "18": "18米",
        "6.8": "6.8米",
        "8.6": "8.6米",
        "9.6": "9.6米",
        "4.2": "4.2米",
        "5.2": "5.2米",
        "17.5": "17.5米",
        "6.2": "6.2米",
        "7.2": "7.2米",
        "4.5": "4.5米",
        "8.2": "8.2米",
        "11.7": "11.7米",
        "13.5": "13.5米",
        "7.6": "7.6米",
        "12.5": "12.5米"
    }
    var keyArray = quickSort(getKeyArray(map));
    
    function quickSort(arr){
    	//如果数组<=1,则直接返回
    	if(!arr || arr.length<=1){return arr;}
    	var pivotIndex=Math.floor(arr.length/2);
    	//找基准,并把基准从原数组删除
    	var pivot=arr.splice(pivotIndex,1)[0];
    	//定义左右数组
    	var left=[];
    	var right=[];
    
    	//比基准小的放在left,比基准大的放在right
    	for(var i=0;i<arr.length;i++){
    	    if(arr[i]<=pivot){
    	        left.push(arr[i]);
    	    }
    	    else{
    	        right.push(arr[i]);
    	    }
    	}
    	//递归
    	return quickSort(left).concat([pivot],quickSort(right));
    }
    function getKeyArray(obj){
    	if(obj && (Object.prototype.toString.call(obj)==='[object Object]')){
    		var arr = [];
    		for(var i in obj){
    			arr.push(parseFloat(i));
    		}
    		return arr;
    	}else{
    		return null;
    	}
    }
    
    
  • 相关阅读:
    JAVA传值与传址
    JAVA中的栈和堆
    for语句输出图形
    Linux下ps命令详解(转载)
    BMC介绍
    JVM 优化、内存泄露排查、gc.log 分析方法等(转载)
    动态从zookeeper读取kafka信息
    centos 查看文件系统类型
    TCPdump抓包命令详解
    Linux Tab键自动补齐
  • 原文地址:https://www.cnblogs.com/qixidi/p/10207853.html
Copyright © 2011-2022 走看看