迭代数组并在找到某个值时启动一个新数组

Lau*_*a M 1 arrays swift

说我有以下数组:

array = ["a", "b", "c", "new", "d", "e", "f", "g", "new", "h", "i", "new"]
Run Code Online (Sandbox Code Playgroud)

我想在每次找到值"new"时创建一个新数组.

所以我最终会:

array1 = ["a", "b", "c"]
array2 = ["d", "e", "f", "g"]
array3 = ["h", "i"]
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

vad*_*ian 5

顾名思义,您可以使用该split函数拆分数组,但是返回ArraySlice对象.

从你需要的切片中取回数组map(归功于Martin R)

let array = ["a", "b", "c", "new", "d", "e", "f", "g", "new", "h", "i", "new"]
let splittedArrays = array.split(separator: "new").map(Array.init)
Run Code Online (Sandbox Code Playgroud)