Wesukilaye

Your choices please me, for now


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Swift 数组

发表于 2019-08-05 更新于 2019-08-06 分类于 Swift
本文字数: 4.4k 阅读时长 ≈ 4 分钟
定义数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
func definitionArr()->(){

var arr:[Any] = []//空 任意类型
var arr1:[String] = []//空 只能存字符串
var arr2:[Any] = ["1",1]
var arr4:[Dictionary] = []

//自动推导的结果[String] ->表示数组中存储的是string
let array = ["张三","李四","王五"]
print(array)
//[Int]->表示数组中存储的是int
let array2 = [1,2,3,4,5]
print(array2)

let p = CGPoint(x: 10, y: 300)
let array3 = [p]
print(array3)

//混合数组:几乎不用
//如果类型不一致,自动推导结果为NSObject
let array4 = ["张三",1,p] as [Any]
print(array4)
//定义一个数组,指定类型是int
var array5 = [Int]()
for i in 0...8 {
array5.append(i)
print("\(array5) \(array5.capacity)")
}


}
数组遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// MARK:数组的遍历
func demo1() {
let array = ["张三","李四","王五"]
//1.按照下标遍历
print("按照下标遍历")
for i in 0..
print(array[i])
}
//2.for in遍历元素
print("按照for in遍历元素")
for s in array {
print(s)
}
//3.同时遍历下标和内容
print("同时遍历下标和内容")
//元组
for e in array.enumerated() {
print("\(e.offset) \(e.element)")
}
//4.遍历下标和内容2
print("同时遍历下标和内容2")
for (n,s) in array.enumerated() {
print("\(n) \(s)")
}
//5.反序遍历
print("反序遍历")
for s in array.reversed() {
print(s)
}
//6.反序遍历索引和内容
print("反序遍历索引和内容")
for (n,s) in array.enumerated().reversed() {
print("\(n) \(s)")
}
}
数组的增删改
增
1
2
3
4
5
6
7
func addElement() -> () {
let arr1 = ["今","天","是","个","好","日","子"]
var arr = ["今","天","是","个","好","日","子","A","b"]
//添加数组
arr.append(contentsOf: arr1)
//print(arr)
}
删除
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
func remove() -> () {
var arr = ["今","天","是","个","好","日","子","A","b"]
//删除指定index的元素
//arr.remove(at: 2)
//删除最后的一个元素
//arr.removeLast()
//删除最前的一个元素
//arr.removeFirst()
//单侧删除
//arr.removeFirst(3)
//单侧删除
//arr.removeLast(3)
//删除所有的元素
//arr.removeAll()
//是否保留arr的空间
arr.removeAll(keepingCapacity: true)
print(arr)
}
插入
1
2
3
4
5
6
func insertElement() -> () {
var arr = ["今","天","是","个","好","日","子","A","b"]
//插入数据
arr.insert("1", at: 0)
//print(arr)
}
修改
1
2
3
4
// 这里是var变量, 不能是常量
var array1 = [1, 2, 3, 4, 5]
// 这样子就修改了第一个元素
array1[0] = 9
数组合并
1
2
3
4
5
6
7
8
9
10
11
// MARK:数组合并
func demo3() {
//[String] var array = ["张三","李四","王五"]
var array = ["张三","李四","王五"] as [Any]
//[Any]
let array2 = ["老刀","1","2",180] as [Any]
//合并
//注意:合并的两个类型必须一致
array += array2
print(array)
}
数组去重
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
func arrRemovingWeight() -> () {
//数组去重
#if false
//方法1 原理:字典中key是唯一的
let array = [111, 222, 111]
var dictInts = Dictionary()

for number in array {
dictInts[String(number)] = number
}

var result = [Int]()
for value in dictInts.values {
result.append(value)
}
print(result)
#endif
#if false
//方法2
let arr = ["1","2","3","4","3"]
var arr1:[String] = []
for item in arr {

if !arr1.contains(item){
arr1.append(item)
}
}
print(arr1)
#endif
//数组合并 只要不同的和只要相同的只需要在if的位置加判断即可
let arr = ["1","2","3","4"]
var arr1 = ["1","2","4","8"]

for item in arr {
if !arr1.contains(item){
arr1.append(item)
}
}
print(arr1)

//判断数组是否为空
if arr1.isEmpty {

}

}
  • 本文作者: Mr.Zhao
  • 本文链接: https://wesukilayezcy.github.io/2019/08/05/Swift-数组/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
Swift 数组
Swift String
Swift 字典
-------------本文结束感谢您的阅读-------------
  • 文章目录
  • 站点概览
Wesukilaye

Wesukilaye

熟练使用iOS Objective-c,Swift. 了解Python爬取网络数据,深入研究移动端开发,目前正在学习Flutter
23 日志
4 分类
16 标签
RSS
GitHub E-Mail bilibili
Links
  • Jacksu
  1. 1. 定义数组
  2. 2. 数组遍历
  3. 3. 数组的增删改
    1. 3.1. 增
    2. 3.2. 删除
    3. 3.3. 插入
    4. 3.4. 修改
  4. 4. 数组合并
  5. 5. 数组去重
© 2019 Wesukilaye | 62k | 57 分钟
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0