使用JavaScript排序带有值的复杂对象结构



我有一个复杂的对象,如下所示。

{
"PartNumber": "A123456",
"Components": [{
"Part": {
"Number": "123"
},
"Components": []
},
{
"Part": {
"Number": "300"
},
"Components": [{
"Part": {
"Number": "444"
},
"Components": [{
"Part": {
"Number": "A123"
},
"Components": [{
"Part": {
"Number": "1234"
}
}]
},
{
"Part": {
"Number": "443"
},
"Components": []
}
]
},
{
"Part": {
"Number": "H123"
},
"Components": []
}
]
},
{
"Part": {
"Number": "120"
},
"Components": []
}
]
}

我正在尝试使用Number的值对对象进行排序关键。我试过使用不同的排序函数,但这些函数对我的复杂对象不起作用。

有人可以帮助实现那种复杂的对象使用JavaScript?
对象简化后会像

A123456             
123         
300         
444     
A123    
1234
443 
H123        
120     

我需要对对象进行排序,期望的简化对象输出将是

A123456             
120         
123         
300         
444     
443 
A123    
1234
H123        
const sortedComponents = Components.sort(
(component1, component2) => component1.Part.Number - component2.Part.Number
);

我想这解决了你的问题。

最新更新