我正在操场上使用以下代码作为示例:
let videosUnsorted = ["C Video", "G Video", "L Video", "T Video", "S Video ", "P Video", "A Video", "Z Video", "R Video"]
let videosValues = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let sorted = videosUnsorted.sorted(by: {$0.videosValues > $1.videosValues})
print(sorted)
但是它给了我这个错误:
传递给不带参数的调用的参数
我尝试了以下操作,但这不是我要完成的操作。只是按同一数组中的元素排序:
let sorted = videosUnsorted.sorted(by: {$0.1 < $1.2})
答案 0 :(得分:1)
最简单的方法是像这样使用zip()
:
zip(videosUnsorted, videosValues).sorted(by: { $0.1 < $1.1 }).map { $0.0 }
这会将2个数组组合为类型[(String, Int)]
,然后按Int
值进行排序,并使用map()
返回仅排序后的[String]
。