小编She*_*hew的帖子

处理空值的Javascript排序方法

我有一个对象列表,我想根据我知道可以使用排序方法的字段对对象进行排序.当比较字段具有空值时,排序不会发生,如何解决此问题?

http://jsfiddle.net/mailtoshebin/kv8hp/

var arrOfObj = [
    {
        "Name": "Zak",
        "Age": 25
    },
    {
        "Name": "Adel",
        "Age": 38
    },
    {
        "Name": null,
        "Age": 38
    },
    {
        "Name": "Yori",
        "Age": 28
    }
];

sortArrOfObjectsByParam(arrOfObj, "Name");
alert("ASCENDING: " + arrOfObj[0].Name + ", " + arrOfObj[1].Name + ", " + arrOfObj[2].Name);

function sortArrOfObjectsByParam(arrToSort , strObjParamToSortBy  ) {
    if(sortAscending == undefined) sortAscending = true;  // default to true

    if(sortAscending) {
        arrToSort.sort(function (a, b) {

            return a[strObjParamToSortBy] > b[strObjParamToSortBy];
        });
    }
    else {
        arrToSort.sort(function (a, b) …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
5247
查看次数

标签 统计

javascript ×1