gpt4 book ai didi

javascript - 如何使用 JavaScript 排序对树 JSON 对象进行双重排序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:46 25 4
gpt4 key购买 nike

我需要先按param1z 对象进行排序,然后是param2。我的尝试返回重复的对象实例,其中对象参数是整数且不唯一。

我该如何解决这个问题?

z=[{object1},{object2},{object3},...,{objectN}];
z.sort(function(x,y){
if(x.param1-y.param1>0){return -1};
if(x.param1-y.param1<0){return 1};
if(x.param1-y.param1==0){
if(x.param2-y.param2>0){return -1};
if(x.param2-y.param2<0){return 1};
};

});

z 类似于:

z=[{"level":0,"order":0,"t":"section","a":{"class":"ro s-14 m-3"}},
{"level":1,"order":0,"t":"h1","a":{"class":"tx-1 s-35"},"x":"This is a text"},
{"level":1,"order":1,"t":"div","a":{"class":"tx-0 m-3"}},
{"level":2,"order":0,"t":"h2","a":{"class":"tx-0 s-18"},"x":"This is a text"},
{"level":2,"order":1,"t":"h3","a":{"class":"tx-0 s-14 fw-3"}},
{"level":3,"order":0,"t":"li","x":"This is a text"},
{"level":3,"order":1,"t":"li","x":"This is a text"},
{"level":3,"order":2,"t":"li","x":"This is a text"},
{"level":3,"order":3,"t":"li","x":"This is a text"},
{"level":3,"order":4,"t":"li","x":"This is a text"},
{"level":3,"order":5,"t":"li","x":"This is a text"},
{"level":3,"order":6,"t":"li","x":"This is a text"},
{"level":3,"order":7,"t":"li","x":"This is a text"},
{"level":3,"order":8,"t":"li","x":"This is a text"},
{"level":2,"order":2,"t":"h4","x":"This is a text"},
{"level":1,"order":2,"t":"div","a":{"class":"tx-0 m-3"}},
{"level":2,"order":0,"t":"h2","x":"This is a text"},
{"level":2,"order":1,"t":"h3","a":{"class":"tx-0 s-12 fw-3"}},
{"level":3,"order":0,"t":"li","x":"This is a text"},
{"level":3,"order":1,"t":"li","x":"This is a text"},
{"level":3,"order":2,"t":"li","x":"This is a text"},
{"level":3,"order":3,"t":"li","x":"This is a text"},
{"level":3,"order":4,"t":"li","x":"This is a text"},
{"level":3,"order":5,"t":"li","x":"This is a text"},
{"level":3,"order":6,"t":"li","x":"This is a text"},
{"level":3,"order":7,"t":"li","x":"This is a text"},
{"level":3,"order":8,"t":"li","x":"This is a text"},
{"level":3,"order":9,"t":"li","x":"This is a text"},
{"level":3,"order":10,"t":"li","x":"This is a text"},
{"level":3,"order":11,"t":"li","x":"This is a text"},
{"level":2,"order":2,"t":"h4","x":"This is a text"},
];

最佳答案

您可以对升序使用更紧凑的回调:

z.sort(function (x, y) {
return x.param1 - y.param1 || x.param2 - y.param2;
});

或降序:

z.sort(function (x, y) {
return y.param1 - x.param1 || y.param2 - x.param2;
});

关于javascript - 如何使用 JavaScript 排序对树 JSON 对象进行双重排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com