javascript对JSON数据排序的3个例子


Posted in Javascript onApril 12, 2014

一、适用于数字排序和字幕排序
json 的排序方法有很多种,这是其中最简单的一种方法。

var sortBy = function (filed, rev, primer) {

    rev = (rev) ? -1 : 1;

    return function (a, b) {

        a = a[filed];

        b = b[filed];

        if (typeof (primer) != 'undefined') {

            a = primer(a);

            b = primer(b);

        }

        if (a < b) { return rev * -1; }

        if (a > b) { return rev * 1; }

        return 1;

    }

};

var obj = [

    {b: '3', c: 'c'}, 

    {b: '1', c: 'a'},

    {b: '2', c: 'b'}

];

1、数字排序
obj.sort(sortBy('b', false, parseInt));

console.log(obj);

2、字符串排序
obj.sort(sortBy('b', false, String));

console.log(obj);

二、JSON排序例子2

var willSort = [

    {

        name:'shangwenhe',

        age:25,

        height:170

    },

    {

        name:'zhangsan',

        age:31,

        height:169

    },

    {

        name:'lisi',

        age:31,

        height:167

    },

    {

        name:'zhaowu',

        age:22,

        height:160

    },

    {

        name:'wangliu',

        age:23,

        height:159

    }

];


/*

    @function     JsonSort 对json排序

    @param        json     用来排序的json

    @param        key      排序的键值

*/

function JsonSort(json,key){

    //console.log(json);

    for(var j=1,jl=json.length;j < jl;j++){

        var temp = json[j],

            val  = temp[key],

            i    = j-1;

        while(i >=0 && json[i][key]>val){

            json[i+1] = json[i];

            i = i-1;    

        }

        json[i+1] = temp;

        

    }

    //console.log(json);

    return json;
}

var json = JsonSort(willSort,'age');

console.log(json);

三、JSON排序例子3

var people = [

{

    name: 'a75',

    item1: false,

    item2: false

},

{

    name: 'z32',

    item1: true,

    item2: false

},

{

    name: 'e77',

    item1: false,

    item2: false

}];
function sortByKey(array, key) {

    return array.sort(function(a, b) {

        var x = a[key]; var y = b[key];

        return ((x < y) ? -1 : ((x > y) ? 1 : 0));

    });

}
people = sortByKey(people, 'name');
Javascript 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
[JSF]使用DataModel处理表行事件的实例代码
Aug 05 Javascript
判断一个对象是否为jquery对象的方法
Mar 12 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
jQuery实现伪分页的方法分享
Feb 17 Javascript
Bootstrap 3 按钮标签实例代码
Feb 21 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
微信小程序冒泡事件及其阻止方法实例分析
Dec 06 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
Dec 17 Javascript
vue+ts下对axios的封装实现
Feb 18 Javascript
Node.js API详解之 vm模块用法实例分析
May 27 Javascript
详细分析vue响应式原理
Jun 22 Javascript
Js保留小数点的4种效果实现代码分享
Apr 12 #Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 #Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
Apr 12 #Javascript
jQuery中阻止冒泡事件的方法介绍
Apr 12 #Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 #Javascript
javascript事件冒泡详解和捕获、阻止方法
Apr 12 #Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 #Javascript
You might like
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
php验证手机号码
2015/11/11 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
js 提交和设置表单的值
2008/12/19 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python实现动态创建类的方法分析
2019/06/25 Python
python中对_init_的理解及实例解析
2019/10/11 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
linux环境下安装python虚拟环境及注意事项
2020/01/07 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
HTML5 与 XHTML2
2008/10/17 HTML / CSS
Html5之title吸顶功能
2018/06/04 HTML / CSS
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
美国购买肉、鸭、家禽、鹅肝和熟食网站:D’Artagnan
2018/11/13 全球购物
捐资助学倡议书
2014/04/15 职场文书
大专生求职信
2014/06/29 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
市场部经理岗位职责
2015/02/02 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
导游经典开场白——导游词
2019/04/17 职场文书