【发布时间】:2016-08-25 07:42:58
【问题描述】:
我想对字母数字进行排序,但数字应该放在末尾而不是开头。比如
let array = ["1", "a", "b", "z", "3", "!"]
let sortedArray = array.sort { (firstObject, secondObject) -> Bool in
firstObject < secondObject
}
输出:
[“!”,“1”,“3”,“a”,“b”,“z”]
所需输出:
[“a”、“b”、“z”、“1”、“3”、“!”]
提前致谢。
【问题讨论】:
-
所以?你为什么不试着做到这一点呢?显然
firstObject < secondObject不适合您的用例。您可能需要更复杂地比较这些字符代码。你试过吗? -
这里的排序规则是什么?为什么 ”!”是排序数组的结尾吗?
-
如果您想要的结果与常见的排序约定不同,这个任务应该有自定义的解决方案(因为感叹号在最后,以及字母字符后面的数字)。
-
"!"不是字母数字。如果 then 数组可以包含任意字符,ä € ~ π ???? ???????? β ☼ ∬应该在哪里排序?