学习笔记: 100 Days of SwiftUI: Day 2_Array

完整定义 Array<element>   简写[element]

1. Creating and Initializing

1.1 创建一个空数组

var someString = Array<String>()

var someDoubl: [Double] = []

var someInt = [Int]()

var someArray = []         //在swift能推测数据类型的条件下甚至可以简写为

1.2 使用默认值初始化

var threeDoubles = Array(repeating: 0.0, count: 3) 

1.3 使用其他array初始化

var sixDoubles = threeDoubles + anotherThreeDoubles

1.4 literal

var shoppingList: [String] = ["Eggs", "Milk"]

1.2 Properties and Methods

swift 中的array非常强大,它不仅是包含了数据的存储,还有很多数组的基本操作。

两个最常用的properties,.count和.isEmpty

  • randomElement

func randomElement() -> Self.Element? // 返回数组中的一个随机元素,当数组为空时返回nil

  • append

append可以追加一个元素用append(),也可以追加多个元素,用append(contentsOf:)

  • remove

remove(at: )                   //指定移除的位置

removeFirst()                //移除最前面的一个元素,返回值为移除的元素

removeFirst(_:)            //移除最前面的几个元素,没有返回值

removeLast()               //移除最后面的一个元素,放回值为移除的元素

removeLast(_:)            //移除最后面几个元素,没有返回值

removeAll()                //全删了

removeAll(where: )         // 删除所有满足特殊条件的元素

        var arrayName = ["red","yellow","green","blue","gray","orange","purple"]

        arrayName.removeAll(where: {$0 > "color"})

        print(arrayName)         //运行结果是 ["blue"]

  • Finding

contains()                         //判断数组是否含有特定元素,返回值Bool

contains(where: )                //判断数组是否含有满足特定条件的元素,返回值Bool

allSatisfy()                        //判断数组是否所有元素都满足特定条件,返回值Bool

first(where: )                        //查找满足条件的第一个元素

firstIndex(where: )                //查找满足条件的第一个元素的位置

index(of: )                              //查找第一个指定元素出现的位置

last(where: )                        //查找满足条件的所有元素中的最后一个

lastIndex(where: )                // 查找满足条件的最后一个元素的位置

  • selecting

用prefix和suffix来获取特定的子序列

  • map

map()

        let cast = ["Vivien", "Marlon", "Kim", "Karl"]

        let lowercaseNames = cast.map { $0.lowercased() }

        // 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"]

        let letterCounts = cast.map { $0.count }

        // 'letterCounts' == [6, 6, 3, 4]

  • iterating

arrayName.forEach{ item in print(item) }

for item in arrayName { print(item) }

for index in arrayName.indices { print(arrayName[index] }

for (index, item) in arrayName.enumerated() { print("the \(index+1) number is \(item)")}

  • reordering

sort : 按特定规则排序自身

sorted:把按规则排序的结果返回,自身没变

reverse:自身逆序

reversed: 返回逆序结果

shuffle:自身洗牌,乱序

shuffed:返回乱序的结果

partition:分隔,把满足条件的放在前面,不满足条件的放在后面

swapAt:交换两个index指定的元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值