gpt4 book ai didi

javascript - 如何在javascript中对嵌套对象数组进行排序

转载 作者:行者123 更新时间:2023-11-30 08:58:49 26 4
gpt4 key购买 nike

我有一个这样的数组

var array = [{
order: 3,
sub - array: [{
order: 2
},{
order: 1
}]
},{
order: 2,
sub - array: [{
order: 2
},{
order: 1
}]
}];​

现在我想根据属性 order 对整个集合进行排序,所以无论是外以及内部数组应该根据属性顺序进行排序。

最终输出应该是这样的。

var array = [{
order: 2,
sub - array: [{
order: 1
},{
order: 2
}]
},{
order: 3,
sub - array: [{
order: 1
},{
order: 2
}]
}];​

最佳答案

var propertySort = function(a, b){
return a.order > b.order ? 1 : (a.order < b.order ? -1 : 0);
}

var reorder = function(arr){
var l = arr.length;
while (l--){
if (arr[l]['sub-array']){
reorder(arr[l]['sub-array']);
}
}
arr.sort(propertySort);
};

reorder(arr);

console.log(arr);

这应该为任意数量的嵌套级别重新排序数组。

关于javascript - 如何在javascript中对嵌套对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11119874/

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