我有一个对象列表,其中对象具有以下变量。
BO={名称:字符串,位置:数字,SortOrder: Number};
在这里,SortOrder只是一个以1开头的数字,对于后续的对象按升序递增1。提供了名称和位置值,并且需要填充排序顺序。以下是对列表进行排序的规则:
1.根据位置值对列表进行排序
2.如果两个对象具有相同的位置值,那么我们需要根据字母数字顺序中的名称对对象进行排序
通过使用循环和下面的逻辑,我可以使用基于位置值的简单排序,但如果这两个位置具有相同的值,则需要能够根据名称进行排序。
for(i=0;i<Arr.length;i++)
{
for(j=i+1;j<Arr.length;j++)
{
if(Arr[i].poition>Arr[j].position)
{
temp=Arr[j];
Arr[j]=Arr[i];
Arr[i]=temp;
}
}
}让我知道这是如何实现的
e.g.1
给予:
[{Name:A,位置:2}]
,{Name:B,位置:1},
{名称:C,位置:3}]
输出:
[{Name:B,位置:1,SortOrder:1},
{名称:a,位置:2,SortOrder:2},
{名称:C,位置:3,SortOrder:3}]
e.g.2
给定的
[ {Name:Ab,位置:2}, ]
{名称:a,位置:2},
{名称:嗨,位置:4},
{名称:C,位置:3}
]
Out:
[{Name:A,位置:2,SortOrder:1}
,{Name:Ab,位置:2,SortOrder:2}
,{Name:C,位置:3,SortOrder:3},
{Name:嗨,位置:4,SortOrder:4}]
我正在考虑使用for循环和javascript来实现这一点。谢谢。
https://stackoverflow.com/questions/71428714
复制相似问题