首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于排序的多值排序

基于排序的多值排序
EN

Stack Overflow用户
提问于 2022-03-10 17:56:34
回答 2查看 160关注 0票数 0

我有一个对象列表,其中对象具有以下变量。

BO={名称:字符串,位置:数字,SortOrder: Number};

在这里,SortOrder只是一个以1开头的数字,对于后续的对象按升序递增1。提供了名称和位置值,并且需要填充排序顺序。以下是对列表进行排序的规则:

1.根据位置值对列表进行排序

2.如果两个对象具有相同的位置值,那么我们需要根据字母数字顺序中的名称对对象进行排序

通过使用循环和下面的逻辑,我可以使用基于位置值的简单排序,但如果这两个位置具有相同的值,则需要能够根据名称进行排序。

代码语言:javascript
运行
复制
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来实现这一点。谢谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71428714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档