如何在Swift中对数组数组进行排序

时间:2016-05-10 12:18:33

标签: arrays swift

在Ruby中,您可以轻松地对数组进行排序:

array_of_arrays = [
    [1, 0, 1],
    [0, 1, 0],
    [0, 1, 1]
]

sorted_arrays = array_of_arrays.sort
 # => [[0, 1, 0], [0, 1, 1], [1, 0, 1]]
# OR
sorted_arrays = array_of_arrays.sort{|a, b| a <=> b}
 # => [[0, 1, 0], [0, 1, 1], [1, 0, 1]]

在Swift中有同样简单的方法吗?

我在Swift 2.2中有一个解决方案,但它涉及抓取carcdr(对于Lisp / Scheme人员。firstrest为Clojure人员。

如果第一个元素相等,我将每个数组的其余元素传递回函数,直到它用完了要测试的元素。

它不是太糟糕,但它涉及扩展Array以具有一个函数,它将给我carcdr,然后是必须定制的递归循环基于数组的内容。我觉得必须有更好的方法,特别是在如上所示的整数数组数组的简单情况下。

如果没有其他人有更简单的话,我会在几天内发布我的解决方案。

0 个答案:

没有答案