如何按Int值对(Int,String)数组进行排序?

时间:2015-12-10 18:35:23

标签: arrays swift

var array = [(Int, String)]()

我需要数组中的对按Int。的值按升序排序。

array = [(2, "is"), (0, "Hello"), (1, "this"), (3, "Ben")]

我需要这个回复:

array = [(0, "Hello"), (1, "this"), (2, "is"), (3, "Ben")]

我认为以下某些变体应该有效,但我无法弄清楚如何设置它。

array.sortInPlace()

2 个答案:

答案 0 :(得分:3)

let array = [(2, "is"), (0, "Hello"), (1, "this"), (3, "Ben")]
let sortedArray = array.sort { $0.0 < $1.0 }

print(sortedArray) // [(0, "Hello"), (1, "this"), (2, "is"), (3, "Ben")]

.0部分代表元组的第一个对象。

请参阅Matt对可变版本的回答。

答案 1 :(得分:2)

像这样:

var array = [(2, "is"), (0, "Hello"), (1, "this"), (3, "Ben")]
array.sortInPlace{$0.0 < $1.0}