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原型链和继承
Sep 23 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
jQuery fadeOut 异步实例代码详解
Aug 18 Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 Javascript
jquery实现焦点轮播效果
Feb 23 Javascript
JavaScript数组_动力节点Java学院整理
Jun 26 Javascript
javascript实现Java中的Map对象功能的实例详解
Aug 21 Javascript
浅析vue.js数组的变异方法
Jun 30 Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 Javascript
QRCode.js二维码生成并能长按识别
Oct 16 Javascript
Vue一个案例引发的递归组件的使用详解
Nov 15 Javascript
javascript实现放大镜功能
Dec 09 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
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
CentOS中升级Python版本的方法详解
2017/07/10 Python
python如何爬取个性签名
2018/06/19 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
园长自我鉴定
2013/10/06 职场文书
学习决心书范文
2014/03/11 职场文书
婚礼秀策划方案
2014/05/19 职场文书
审计班子对照检查材料
2014/08/27 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
模范班主任事迹材料
2014/12/17 职场文书
年度考核个人总结
2015/03/06 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server