最近更新
阅读排行
读过本文章的之后读了
关注本站

根据数组元素中的某个字段为数组排序

阅读:5012 次   编辑日期:2014-04-28

目录:

概述:

今天遇见了个问题,数据格式是这样的:
    testData = {"data":[
        {"name":"a","date":"2013-12-01"},
        {"name":"a","date":"2013-03-01"},
        {"name":"a","date":"2012-11-01"},
        {"name":"a","date":"2013-10-01"},
        {"name":"a","date":"2011-09-01"}
    ]}
根据date倒叙为data的每个数组元素排序。
你首先想到的方法是什么?别告诉我是for循环。
就算for循环了,日期怎么比?别告诉我是把字符串拼接成数字。
有一个数组排序的方法教sort(),之前也写过关于sort的文章,《使用sort()方法随机打乱数组》

解决方法:

	if(a.date > b.date){
            return - 1;
    }else{
            return 1;
        }
    }
    function sotrArr(data){
        var arr = data.data;
        alert(JSON.stringify(arr.sort(reNum)));
    }
    sotrArr(testData);
原理就是比较数组字段date值得大小,就算是字符串也可以比较,如果前面的大于后面的,就返回-1,这样一来大的就被放到后面了。
将本篇文章分享到:
top