假设我有一个从1到10的未排序的数组,如下图所示:
a = ["3","5","8","4","1","2","9","10","7","6"]
如果我在这个数组中使用sort方法,它返回这个…
a.sort = ["1","3","6","9"]
如你所见,10,出现在2之前,这是不正确的.如何对这些数字进行排序,以便10正确显示?
编辑:嗨,好的,谢谢大家的回应.我应该更好地解释我的问题.我需要排序的数组是电子商务价目表.所以阵列显示如下:
a = ["0-10","11-20","21-30","31-40" etc.]
所以字符串不能转换为整数.当我写这个问题的时候我应该把这个.我没有想到这个修正会有很大的不同.我的错误,我为做这个假设道歉!我如何排序这个数组?谢谢!
解决方法
我会把另一种方法放在那里,因为它是我想到的最短的方法
a.sort_by(&:to_i)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。