首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义列表排序

自定义列表排序
EN

Stack Overflow用户
提问于 2012-09-27 22:30:50
回答 1查看 2.3K关注 0票数 3

嗨,我有一个列表,其中包含元素[daily,monthly,weekly][monthly,weekly,daily][weekly,daily]

我需要以这样的方式对列表进行排序

代码语言:javascript
复制
[daily,monthly,weekly] == [daily,monthly,weekly]

[monthly, weekly, daily] == [daily, monthly, weekly]

[weekly, daily] == [daily, weekly]

有人能帮我一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-27 22:54:31

假设你的意思是你有一个字符串列表,那么这应该是可行的:

代码语言:javascript
复制
customSorter = { 
  [ 'daily', 'monthly', 'weekly' ].indexOf( it )
}

assert [ 'daily', 'monthly', 'weekly' ].sort( customSorter ) == [ 'daily', 'monthly', 'weekly' ]
assert [ 'monthly', 'weekly', 'daily' ].sort( customSorter ) == [ 'daily', 'monthly', 'weekly' ]
assert [ 'weekly', 'daily' ].sort( customSorter ) == [ 'daily', 'weekly' ]

或者您可以这样做(以避免重复创建列表)

代码语言:javascript
复制
customSorter = { a, b, order=['daily','monthly','weekly'] ->
  order.indexOf( a ) <=> order.indexOf( b )
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12623728

复制
相关文章

相似问题

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