热点新闻
Swift数组处理全解(一篇全部搞定)
2023-07-13 23:25  浏览:280  搜索引擎搜索“手机财发网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在手机财发网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布
  1. 定义数组:使用语法 [元素类型] 来定义数组,例如:

var arr1 = [1, 2, 3] var arr2: [String] = ["apple", "banana", "pear"]

  1. 访问数组元素:可以使用下标(从 0 开始)或者循环遍历数组来访问其中的元素。

let arr = ["apple", "banana", "pear"] let first = arr[0] // "apple" print(first) for item in arr { print(item) }

  1. 操作数组元素:可以使用 append、insert、remove 等方法来操作数组元素。

var arr = [1, 2, 3] arr.append(4) // [1, 2, 3, 4] arr.insert(0, at: 0) // [0, 1, 2, 3, 4] arr.remove(at: 2) // [0, 1, 3, 4]

  1. 数组切片:可以使用数组的 suffix、prefix、dropdropLast 等方法获取其子数组。

let arr = [1, 2, 3, 4, 5] let subset1 = arr.suffix(3) // [3, 4, 5] let subset2 = arr.prefix(2) // [1, 2] let subset3 = arr.dropFirst(2) // [3, 4, 5] let subset4 = arr.dropLast(1) // [1, 2, 3, 4]

  1. 数组排序:可以使用 sort、sorted、sort(by:) 等方法对数组进行排序。

var arr = [4, 2, 1, 3, 5] arr.sort() // [1, 2, 3, 4, 5] var arr2 = [4, 2, 1, 3, 5] let sortedArr = arr2.sorted() // [1, 2, 3, 4, 5] var arr3 = ["apple", "banana", "pear"] arr3.sort(by: { $0.compare($1) == .orderedAscending }) print(arr3) // ["apple", "banana", "pear"]

  1. 数组过滤和映射:可以使用 filter、map 等方法对数组进行过滤和映射。

let arr = [1, 2, 3, 4, 5] let filteredArr = arr.filter { $0 % 2 == 0 } // [2, 4] let mappedArr = arr.map { $0 * $0 } // [1, 4, 9, 16, 25]

列举几个常用的方法:

  1. 添加元素到数组:

var array = [1, 2, 3] array.append(4) // [1, 2, 3, 4] array += [5] // [1, 2, 3, 4, 5]

  1. 获取数组元素个数:

let count = array.count // 5

  1. 数组元素的遍历:

for item in array { print(item) } array.forEach({ item in print(item) })

  1. 获取数组中最大值、最小值、和:

let maxNum = array.max() // 5 let minNum = array.min() // 1 let sum = array.reduce(0, +) // 15

  1. 数组是否包含某个元素:

let contains = array.contains(2) // true

  1. 对数组进行排序:

let sortedArray = array.sorted() // [1, 2, 3, 4, 5]

  1. 筛选数组元素:

let filteredArray = array.filter({ $0 % 2 == 0 }) // [2, 4]

  1. 数组的删除和替换:

var array = [1, 2, 3, 4, 5] array.remove(at: 2) // [1, 2, 4, 5] array[2] = 6 // [1, 2, 6, 5]

  1. 数组的插入和拼接:

var array = [1, 2, 3, 4, 5] array.insert(6, at: 2) // [1, 2, 6, 3, 4, 5] let newArray = array + [7, 8] // [1, 2, 6, 3, 4, 5, 7, 8]

  1. 数组的截取:

let subArray = array[1...3] // [2, 6, 3]

  1. 数组的判断输出:

let isEmpty = array.isEmpty // false print(array) // [1, 2, 6, 3, 4, 5]

  1. 在数组中查找元素的位置:

if let index = array.firstIndex(of: 2) { // 找到2,index为1 print("找到2,index为\(index)") } else { // 没有找到2 print("没有找到2") }

  1. 使用 map 方法对数组中的元素进行转换:

let nums = [1, 2, 3, 4, 5] let strs = nums.map({ "Number: \($0)" }) print(strs) // ["Number: 1", "Number: 2", "Number: 3", "Number: 4", "Number: 5"]

  1. 使用 reduce 方法计算数组中所有元素的总和:

let nums = [1, 2, 3, 4, 5] let sum = nums.reduce(0, { $0 + $1 }) print(sum) // 15

  1. 使用 filter 方法过滤出数组中的偶数:

let nums = [1, 2, 3, 4, 5] let evens = nums.filter({ $0 % 2 == 0 }) print(evens) // [2, 4]

  1. 使用 forEach 方法遍历数组中的每一个元素:

let nums = [1, 2, 3, 4, 5] nums.forEach({ print($0) }) // 1 // 2 // 3 // 4 // 5

  1. 移除数组中的重复元素:

var nums = [1, 2, 3, 2, 4, 3, 5] nums = Array(Set(nums)) print(nums) // [1, 2, 3, 4, 5]

  1. 在数组中搜索符合条件的元素:

let nums = [1, 2, 3, 4, 5] let results = nums.enumerated().filter { $0.offset % 2 == 0 && $0.element > 2 } print(results) // [(2, 3)]

  1. 使用 compactMap 方法转换数组中的元素,同时过滤掉 nil:

let mixed = ["1", "2", "3", "cat"] let nums = mixed.compactMap({ Int($0) }) print(nums) // [1, 2, 3]

  1. 对数组进行降序排序:

let nums = [1, 9, 2, 8, 3, 7, 4, 6, 5] let sortedNums = nums.sorted { $0 > $1 } print(sortedNums) // [9, 8, 7, 6, 5, 4, 3, 2, 1]

  1. 通过 dropFirst() 方法删除数组的前 n 个元素:

let nums = [1, 2, 3, 4, 5] let tail = nums.dropFirst(2) print(tail) // [3, 4, 5]

  1. 通过 dropLast() 方法删除数组的后 n 个元素:

let nums = [1, 2, 3, 4, 5] let head = nums.dropLast(2) print(head) // [1, 2, 3]

  1. 使用 popLast() 方法弹出数组的最后一个元素:

var nums = [1, 2, 3, 4, 5] let last = nums.popLast() print(last) // 5 print(nums) // [1, 2, 3, 4]

  1. 在数组的指定位置插入单个或多个元素:

var nums = [1, 2, 3, 4, 5] nums.insert(0, at: 0) print(nums) // [0, 1, 2, 3, 4, 5] let spliceArray = [6, 7, 8] nums.splice(contentsOf: spliceArray, at: 3) // nums 现在为 [0, 1, 2, 6, 7, 8, 3, 4, 5]

  1. 先通过 firstIndex(of:) 方法找到元素在数组中的位置,然后使用 remove(at:) 方法从数组中删除该元素:

var nums = [1, 2, 3, 4, 5] if let index = nums.firstIndex(of: 3) { nums.remove(at: index) print(nums) // [1, 2, 4, 5] }

以上是 Swift 处理数组的一些方法,对于遇到的具体问题和场景,可以结合实际需要选择合适的方法。

发布人:89bb****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发