数组Array

Swift的数组也类似于集合其基本用法总结如下

let 声明的是不可变的数组 var 声明的是可变的数组 Swift 自动对行内闭包提供简写实际参数名,你也可以通过 $0 , $1 , $2 等名字来引用闭包的实际参数值。可以用$0、$1、$2来表示调用闭包中参数,$0指代第一个参数,$1指代第二个参数, 2 指 代 第 三 个 参 数 , 以 此 类 推 2指代第三个参数,以此类推 2n+1指代第n个参数,$后的数字代表参数的位置,一一对应。map 方法接受一个闭包作为参数, 然后它会遍历整个数组,并对数组中每一个元素执行闭包中定义的操作。 相当于对数组中的所有元素做了一个映射。

	let types = ["none", "warning","error"] //省略类型的数组声明
    var menbers = [String]() //声明一个String类型的空数组
    
    menbers.append("Six") //添加元素
    menbers.append("Seven")//添加元素
    menbers.insert("One", at: 0) //指定位置添加元素
    menbers[0] = "Message"  //通过下标修改数组中的数据
    menbers[0...2] = ["zero","one","two"] //通过小标区间替换数据(前3个数据)
    
    print(menbers.count) //获取数组元素个数
    
    if menbers.isEmpty {  //判断数组是否为空
        print("数组为空")
    }
    
    menbers.swapAt(1, 2)//交换元素位置(第2个和第3个元素位置进行交换)
    menbers.remove(at: 2) //删除下标为2的数组
    menbers.removeLast()  //删除最后一个元素
    menbers.removeAll(keepingCapacity: true) //删除数组中的所有元素
    menbers.removeAll()
    
    let addStringArr = types + menbers //数组组合
    print(addStringArr)
    
    //试用for in 实现数组遍历
    for value in menbers {
        print(value);
    }
    
    //通过enumerate函数同时遍历数组的所有索引与数据
    for (index,value) in menbers.enumerated() {
        print("索引\(index) 数据\(value)")
    }
    
    //过滤数组元素
    let newTypes = types.filter {
        $0.count < 6
    }
    print(newTypes)
    
    //创建包含100个元素的数值["条目0", "条目1" ... "条目99"]
    let items = Array(0..<100).map{"条目\($0)"}
    print(items)

	//排序
    var array: Array<Int> = [3, 6, 1, 7, 2, 4, 9, 5, 8]
    //降序
    array.sort { (s1, s2) -> Bool in
        return s1 > s2
    }
    print(array) //打印结果: [9, 8, 7, 6, 5, 4, 3, 2, 1]

    
    //升序
    array.sort() {
        $0 < $1
    }
    print(array)//打印结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值