js排序怎么根据父字段排序子字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js排序怎么根据父字段排序子字段相关的知识,希望对你有一定的参考价值。

比如根据下面的name排序再排序type
var objs = [
'name': 'A', 'type': 'fly',
'name': 'A', 'type': 'blur',
'name': 'C', 'type': 'wipe',
'name': 'B', 'type': 'cube',
'name': 'E', 'type': 'iris',
'name': 'D', 'type': 'fade'
];

objs.sort(function(a,b)
return a.name - b.name;
);

function sortFun(a, b) 
        if (a.name == b.name)   //如果name相同,根据type排序
            return a.type > b.type;
        
        return a.name > b.name; //name不同,优先按name排序

    
console.log(objs.sort(sortFun));

输出结果:

参考技术A 把减号换成大于号,.name不是数字怎么能减呢追问

嗯,打错了,不过我想让这个数组现根据name来排序,再根据type来排序,怎么实现,求大佬帮助

数组对象根据 某个字段进行排序

参考技术A // var obj = [ name: 'aa', age: 18 , name: 'bb', age: 25 , name: 'cc', age: 10 ]

    // // // 根据年龄排序

    // // // 解:升序:

    // console.log("解:升序:", obj.sort(Fun))//0: name: "cc", age: 101: name: "aa", age: 182: name: "bb", age: 25

    // // 降序:

    // // function Fun(a, b)

    // //     return b.age - a.age

    // //

    // console.log("降序:", obj.sort(Fun))//0: name: "bb", age: 251: name: "aa", age: 182: name: "cc", age: 10

以上是关于js排序怎么根据父字段排序子字段的主要内容,如果未能解决你的问题,请参考以下文章

使用带有实体框架的动态字段按子记录排序

在 NDB 中按父字段查询子表和排序结果

数组对象根据 某个字段进行排序

用JS给查询出来的数据排序

js 根据某个字段进行排序

js 根据某个字段进行排序