内容简介:谢谢大家的帮助!我现在有一个工作卡应用程序,确实遇到了其他问题,但他们很快就解决了.翻译自:https://stackoverflow.com/questions/32074136/how-to-split-an-array-in-half-in-swift
谢谢大家的帮助!我现在有一个工作卡应用程序,确实遇到了其他问题,但他们很快就解决了.
您可以进行扩展,以便它可以返回两个数组的数组,使用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, 3, 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", "Q", "K", "A"] let splitDeck = deck.split() print(splitDeck.left) // ["J", "Q"] print(splitDeck.right) // ["K", "A"]
注意:获得第一个正确答案的是Andrei和Qbyte,我只是添加信息.
翻译自:https://stackoverflow.com/questions/32074136/how-to-split-an-array-in-half-in-swift
以上所述就是小编给大家介绍的《数组 – 如何在Swift中将数组拆分成两半?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- C语言指针数组和数组指针
- 菜鸡的算法修炼:数组(旋转数组的最小数字)
- 交换数组元素,使得数组的和的差最小
- JS数组专题1️⃣ ➖ 数组扁平化
- 算法-计算小数组在大数组中的索引
- 数组常见的遍历循环方法、数组的循环遍历的效率对比
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
一站式学习C编程
宋劲杉 / 电子工业出版社 / 2011-3 / 59.00元
《一站式学习c编程》有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识c语言。 《一站式学习c编程》适合做零基础的初学者学习c语言的第一本教材,......一起来看看 《一站式学习C编程》 这本书的介绍吧!