当前位置:首页 » JavaScript技术

js对任意json数据根据任意属性名排序的解决方法

2017-08-12 08:21 本站整理 浏览(47)

本文禁止转载:
这里只提供一种解决方案,因此代码不是很完善,我也不会细讲,只做个示例:

示例代码:

/**
 * Created by likeke on 2017/8/11.
 */

////复杂的json
var json = [
    {
        dad: {
            name: "bob",
            age: 12
        },
        mum: {
            name: "lkk",
            age: 13
        }
    },
    {
        dad: {
            name: "cab",
            age: 12
        },
        mum: {
            name: "lkk",
            age: 13
        }
    },
    {
        dad: {
            name: "aob",
            age: 12
        },
        mum: {
            name: "lkk",
            age: 13
        }
    }
];
//////////////////////
function comp(a,b) {
    return new Function("a", "b", "return  "+ a +".charCodeAt() -  "+b+".charCodeAt();");
}
/////////按照每个对象中的dad属性下的name属性进行排序(按照首字母)
json.sort(comp("a.dad.name","b.dad.name"));

 结果:

这样看可能会更清晰点: