博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript sort order by for array or json object
阅读量:6673 次
发布时间:2019-06-25

本文共 1345 字,大约阅读时间需要 4 分钟。

 

1】冒泡法排列

//Implementing a simple bubble sort:
Array.prototype.sort = function ()  {  
    var tmp;      
    for(var i=0;i<this.length;i++) {
        for(var j=0;j<this.length;j++) {
            if(this[i]<this[j]) {
                tmp = this[i];                 
                this[i] = this[j];                  
                this[j] = tmp;              
            }
        }      
    }  
}

 

2】根据一个属性进行排列

//Implementing a simple sort by property:

Array.prototype.sortByProperty = function (propertyName, sort)  {  
    
    if (isDefined(propertyName) )
    {
        propertyName = '.' + propertyName;
    }
    // Default sort Ascending
    var tmp;      
    for(var i=0;i<this.length;i++) {
        for(var j=0;j<this.length;j++) {
            if(eval('this[i]' + propertyName) < eval('this[j]' + propertyName)) {
                tmp = this[i];                 
                this[i] = this[j];                  
                this[j] = tmp;              
            }
        }      
    }  
    
    if(isDefined(sort) && areEqual(sort, 'DESC')) {
        this.reverse();
    }    
}

 

以下的例子根据属性position 和 label 进行排序

var self = this;

self.orderByPositionAndLabel = function (input)  {

        var tmp;
        var inputArray = input;
        for(var i=0;i<inputArray.length;i++) {
            for(var j=0;j<inputArray.length;j++) {
                if(inputArray[i].Position > inputArray[j].Position) {
                    tmp = inputArray[i];
                    inputArray[i] = inputArray[j];
                    inputArray[j] = tmp;
                }else if(inputArray[i].Position == inputArray[j].Position){
                    if(inputArray[i].label > inputArray[j].label) {
                        tmp = inputArray[i];
                        inputArray[i] = inputArray[j];
                        inputArray[j] = tmp;
                    }
                }
            }
        }
        return inputArray.reverse();
    }

转载于:https://www.cnblogs.com/yubuaishui/archive/2012/02/28/2371862.html

你可能感兴趣的文章
Linux下环境变量设置
查看>>
phonegap 安装和使用eclipse
查看>>
ASP.NET MVC使用动态产生meta
查看>>
C语言基础(9)-字符串格式化输入和输出
查看>>
基于 HTML5 的 WebGL 3D 智能楼宇监控系统
查看>>
数据库事务隔离级别
查看>>
JSONP跨域以及之前的历史
查看>>
Qtum量子链与亚马逊AWS中国云服务达成合作
查看>>
Java并发知识点快速复习手册(下)
查看>>
div自适应填充剩余宽度的方法
查看>>
165. Compare Version Numbers
查看>>
CentOS7搭建LNMP--编译安装
查看>>
MP3转换AAC格式哪个音频转换器好
查看>>
黑苹果装机记录
查看>>
基于Nodejs的前端灰度发布方案_20190228
查看>>
Redis实现广告缓存、并完善缓存击穿
查看>>
如何绘制最美的鱼骨图?
查看>>
什么是session?什么是cookie?session和cookie有什么区别?
查看>>
javascript引擎执行的过程的理解--语法分析和预编译阶段
查看>>
百度正式发布PaddlePaddle深度强化学习框架PARL
查看>>