###swift 数组高阶使用 在使用数组的时候,咱们一般会经过下标的方式来得到数组中的元素,可是有时候咱们会需求会很是变态,好比咱们只须要获取数组中下标为0,2,4的元素,或者对他们进行修改。swift的extension就给咱们提供了很好的帮助。直接上代码:swift
// 对Array 进行扩展 extension Array { // 这里咱们扩展一个新的方法,而且实现它的get和set方法 subscript(input:[Int]) ->ArraySlice<Element> { get { var result = ArraySlice<Element>() for i in input { assert(i < self.count, "越界")// 越界时的断言 result.append(self[i]) } return result } set { for (index, i) in input.enumerate() { assert(i < self.count, "越界")// 越界时的断言 self[i] = newValue[index] } } } } // 测试代码以下 var array = [1, 2, 3, 4, 5] array[[0, 2, 4]] // [1, 4, 5] array[[0, 1, 2]] = [9, 9, 9] array // [9, 9, 9, 4, 5]
这样就能够知足咱们对数组的各类奇葩需求,但愿能够帮助你们。数组