从一个大的[String]和一个给定的子数组大小开始,我可以将这个数组拆分成更小的数组的最佳方法是什么?(最后一个数组将小于给定的子数组大小).
具体例子:
最大分割尺寸2分割["1","2","3","4","5","6","7"]
代码会产生[["1","2"],["3","4"],["5","6"],["7"]]
显然我可以手动更多一点,但我觉得像map()或reduce()这样的东西可以做我想要的非常漂亮的东西.
所以
split("There are fourty-eight characters in this string", 20)
Run Code Online (Sandbox Code Playgroud)
应该回来
["There are fourty-eig", "ht characters in thi","s string"]
Run Code Online (Sandbox Code Playgroud)
如果我使currentIndex = string.startIndex,然后尝试进一步提前()它比string.endIndex,我得到"致命错误:不能增加endIndex"之前我检查我的currentIndex <string.endIndex所以下面的代码没有'工作
var string = "12345"
var currentIndex = string.startIndex
currentIndex = advance(currentIndex, 6)
if currentIndex > string.endIndex {currentIndex = string.endIndex}
Run Code Online (Sandbox Code Playgroud)