首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript排序自定义比较器函数-对排序的数组进行排序

Javascript排序自定义比较器函数-对排序的数组进行排序
EN

Stack Overflow用户
提问于 2011-08-23 15:27:38
回答 3查看 45.2K关注 0票数 29

我有一个以下形式的对象数组:

代码语言:javascript
运行
复制
arr[0] = { 'item1' : 1234, 'item2' : 'a string' };

我首先根据'item1'对它进行排序,这很简单。现在,我想再次对arr (按'item1'排序)进行排序,但这次是按'item2'排序,但仅针对'item1'相同的元素。最终的数组将如下所示:

代码语言:javascript
运行
复制
arr = [
  { 'item1' : 1234, 'item2' : 'apple' },
  { 'item1' : 1234, 'item2' : 'banana' },
  { 'item1' : 1234, 'item2' : 'custard' },
  { 'item1' : 2156, 'item2' : 'melon' },
  { 'item1' : 4345, 'item2' : 'asparagus' } 
];

我尝试为第二种情况编写一个排序函数,如下所示:

代码语言:javascript
运行
复制
arr.sort(function(a,b){
  if(a.item1 === b.item1){
    return a.item2 > b.item2 ? 1 : a.item2 < b.item2 : -1 : 0;
  }
});

我可以在一个函数中组合这两个排序,以获得最终的排序数组,但在某些情况下,我必须仅按'item1''item2'排序。

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

https://stackoverflow.com/questions/7157590

复制
相关文章

相似问题

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