数组 – 如何在Swift中将数组拆分成两半?
发布时间:2020-12-14 05:28:28  所属栏目:百科  来源:网络整理 
            导读:我如何拆分一副牌?我有一个阵列和一个随机卡经销商,但不知道如何拆分甲板. 谢谢大家的帮助!我现在有一个工作卡应用程序,确实遇到了其他问题,但他们很快就解决了. 您可以进行扩展,以便它可以返回两个数组的数组,使用Ints,Strings等: extension Array { fun
                
                
                
            | 
 我如何拆分一副牌?我有一个阵列和一个随机卡经销商,但不知道如何拆分甲板. 
  
  谢谢大家的帮助!我现在有一个工作卡应用程序,确实遇到了其他问题,但他们很快就解决了. 
 您可以进行扩展,以便它可以返回两个数组的数组,使用Ints,Strings等: 
  
  
  extension Array {
    func split() -> [[Element]] {
        let ct = self.count
        let half = ct / 2
        let leftSplit = self[0 ..< half]
        let rightSplit = self[half ..< ct]
        return [Array(leftSplit),Array(rightSplit)]
    }
}
let deck = ["J","Q","K","A"]
let nums = [0,1,2,3,4]
deck.split() // [["J","Q"],["K","A"]]
nums.split() // [[0,1],[2,4]]但返回一个命名元组甚至更好,因为它强制执行这样一个事实:你期望正好两个数组: extension Array {
    func split() -> (left: [Element],right: [Element]) {
        let ct = self.count
        let half = ct / 2
        let leftSplit = self[0 ..< half]
        let rightSplit = self[half ..< ct]
        return (left: Array(leftSplit),right: Array(rightSplit))
    }
}
let deck = ["J","A"]
let splitDeck = deck.split()
print(splitDeck.left) // ["J","Q"]
print(splitDeck.right) // ["K","A"]注意:获得第一个正确答案的是Andrei和Qbyte,我只是添加信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
