Yea*_*Kim 2 arrays sorting swift2
我正在尝试对我目前拥有的组合数组进行排序.它是多维数组,但我现在只需要整理出里面的数组.
for combination in myCombinations {
combination.sort({$0 < $1})
print("\(combination)")
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码来整理数组,这是我的结果.
["lys", "dyt", "lrt"]
["lys", "dyt", "gbc"]
["lys", "dyt", "lbc"]
Run Code Online (Sandbox Code Playgroud)
我还收到一条警告,上面写着"对'排序'的调用结果未被使用"有人可以帮我解决这个问题吗?
谢谢.
在Swift 2中,现在是什么sort
(现在是sortInPlace
什么),并且两个方法都要在数组本身上调用(它们以前是全局函数).sorted
sort
当您调用combination.sort({$0 < $1})
实际返回已排序的数组时,您不会对源数组进行排序.
在您的示例中,结果combination.sort({$0 < $1})
未分配给任何变量,这就是编译器通过此错误消息告诉您的内容.
分配结果sort
:
let sortedArray = combination.sort({$0 < $1})
print(sortedArray)
Run Code Online (Sandbox Code Playgroud)
如果要获取已排序数组的数组,可以使用map
而不是循环:
let myCombinations = [["lys", "dyt", "lrt"], ["lys", "dyt", "gbc"], ["lys", "dyt", "lbc"]]
let sortedCombinations = myCombinations.map { $0.sort(<) }
print(sortedCombinations) // [["dyt", "lrt", "lys"], ["dyt", "gbc", "lys"], ["dyt", "lbc", "lys"]]
Run Code Online (Sandbox Code Playgroud)