gpt4 book ai didi

arrays - Swift 4 排序多维数组

转载 作者:搜寻专家 更新时间:2023-10-31 08:03:49 24 4
gpt4 key购买 nike

对 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]

这样我就可以

[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]

我对个人记录排序没问题。
但是在查看 500 条记录时,要对我使用的第一列的记录进行排序 arr.sort { $0[0] < $1[0] } .效果很好,我需要将其扩展到第 2、3、4、5、6 列。我希望能够对第 1 列进行排序,然后按 2、3、4、5、6 进行排序。

最佳答案

假设所有子数组都包含 6 个元素,您可以使用元组(符合 Comparable 的元数为 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]]

关于arrays - Swift 4 排序多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50033226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com