swift 数组 的一些快速方法
2024-10-18 18:25:35
1. filter (过滤器):返回符合条件的一个数组
let arr = [1,5,6,7,10,0]
//写法1
let arr1 = arr.filter { (item) -> Bool in
return item % 2 == 0
} //写法2
let resultArray = arr.filter { return $0%2 == 0 } //写法3
let arr2 = arr.filter({return $0%2 == 0})
2.index(符合条件的索引):返回int值
let arr = [1,5,6,7,10,0]
//写法1:swift 4.0
let index = arr.index(where: {$0 == 1}) //swift4.2 firstIndex:从前往后遍历,
let index2 = arr.firstIndex(where:{$0 == 1})
let index3 = arr.firstIndex { (item) -> Bool in
return item == 1
} //lastIndex:c从后往前遍历
let index4 = arr.lastIndex(where:{$0 == 1}) let index5 = arr.lastIndex(of: 5)
if index5 != nil{
print("打印一下")
}
3. contains(包含):返回bool值
let arr = [1,5,6,7,10,0]
//写法1
let isContains = arr.contains(where: {$0 == 3})
//写法2
let isContains1 = arr.contains { (item) -> Bool in
return item == 100
}
//写法3 直接调用函数
arr.contains(10)
print(arr.contains(3))
4. foreach: 和for in快速遍历 类似, 但是return 条件时,返回不一样 if self.view.subviews.count > 0{
self.view.subviews.forEach({$0.removeFromSuperview()})
} 注意点:
在使用return关键字的时候,很明显,for in中是当符合当前执行语句时,程序直接终止到此并返回, 比如上面的元素 "4"、"5"、"Hello World" 没有被执行;而forEach中是当符合当前执行语句时,程序跳过本次判断继续执行, 比如上面的元素"4"、"5"、"Hello World"被执行。
foreach: 和for in 具体区别:https://www.jianshu.com/p/0f75c23773b5
数组的 compactMap 添加每个元素 let numberArr :[Substring]= “,,”.split(separator: ",") let arrayStrings: [String] = numberArr.compactMap { "\($0)" }
最新文章
- Android如何制作漂亮的自适布局的键盘
- [转]Meta http-equiv属性详解
- DataSet客户端分页实现
- spring官网改版后,如何下载jar包
- pdo简单操作
- WAF(Web Appliction Firewall) Bypass Technology Research
- 移动端H5页面之iphone6的适配(转)
- Shell脚本IF条件判断和判断条件总结
- HttpClient与APS.NET Web API:请求内容的压缩与解压
- Java for LeetCode 172 Factorial Trailing Zeroes
- SELECT INTO FROM mysql Undeclared variable
- 青蛙跳台阶(Fibonacci数列)
- 转换 Html 内容为纯文本内容(html,文本互转)
- 用ConfigurationManager读取和修改配置文件
- JAVA抽象类,接口,多态,抽象方法,一次列举
- 18个SaaS及其功能评价
- Android写入文件操作权限
- appium简明教程
- php生成器使用总结
- 笔记︱支持向量机SVM在金融风险欺诈中应用简述