我正在寻找一种优雅的方式来选择要从数组中删除并返回的元素范围,从而改变原始数组。Javascript 有一个 splice 方法可以实现这个目的,但是我似乎找不到任何内置到 Swift 中实现这两个步骤的方法:
var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let oneTwoThree = array.removeAndReturn(0...2) // [1, 2, 3]
// array == [4, 5, 6, 7, 8, 9, 10]
我知道的
dropFirst(:)
, prefix(:)
和 removeSubrange(:)
虽然都可以对数组进行操作,但是它们其中一个只返回值而不改变原始数组,另外两个则会改变原始数组却不返回任何值。是否有其它我忽略的内置方法可以实现这种需求?或者我需要自己编写扩展 / 方法来完成这个功能?