数组 – 如何在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,我只是添加信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |