gra*_*m4d 5 arrays sorting multidimensional-array swift
对于Swift来说,我很新,我有一个包含500条记录的多维数组
[10, 2, 4, 10, 23, 56]
[0, 12, 14, 20, 28, 42]
[0, 2, 4, 10, 26, 54]
[1, 24, 34, 40, 47, 51]
[1, 23, 24, 30, 33, 50]
Run Code Online (Sandbox Code Playgroud)
这样我就可以
[0, 2, 4, 10, 26, 54]
[0, 12, 14, 20, 28, 42]
[1, 23, 24, 30, 33, 50]
[1, 24, 34, 40, 47, 51]
[10, 2, 4, 10, 23, 56]
Run Code Online (Sandbox Code Playgroud)
我个人记录很好。
但是,当查看500条记录时,要对我使用的第一列的记录进行排序
arr.sort { $0[0] < $1[0] }。效果很好,我需要将其扩展到第2、3、4、5、6列。我希望能够按1、2、3、4、5、6的顺序对列进行排序。
假设所有子数组包含 6 个元素,您可以使用元组(符合 Comparable to an arity of 6)对数组进行排序:
let array = [[10, 2, 4, 10, 23, 56],
[0, 12, 14, 20, 28, 42],
[0, 2, 4, 10, 26, 54],
[1, 24, 34, 40, 47, 51],
[1, 23, 24, 30, 33, 50]]
let sorted = array.sorted(by: {
($0[0],$0[1],$0[2],$0[3],$0[4],$0[5]) < ($1[0],$1[1],$1[2],$1[3],$1[4],$1[5])
})
print(sorted) // [[0, 2, 4, 10, 26, 54],
// [0, 12, 14, 20, 28, 42],
// [1, 23, 24, 30, 33, 50],
// [1, 24, 34, 40, 47, 51],
// [10, 2, 4, 10, 23, 56]]
Run Code Online (Sandbox Code Playgroud)