学习中的SwiftSwiftSwift收集文章

Swift 类型 - 数组

2016-03-30  本文已影响269人  小黑Swift

刀生锈了,得磨下

本文内容:
        1.创建 
        2.插入
        3.移除
        4.颠倒
        5.升序
注意:
      ① 数组的索引(atIndex)从 0 开始
      ② 数组不能越界,否则崩溃
1 数组创建
    // 整数数组
    //let arrayOfInt:[Int] = [1,2,3]
    let arrayOfInt = [1,2,3]  //类型自动推断
    // 空数组
    let nilArray = [Int]() //创建空数组须指定类型
    // 重复相同的数组 - 比如创建10个鸡蛋数组
    let resultArr = Array(count: 10, repeatedValue: 0)
    // 按顺序的数组 - 比如1到300的整数数组
    let numArray = Array(1...300)

2 插入内容

   // 创建数组
   var myArray = [0,1,2,3]

2.1 向末尾插入

myArray.append(4)
    myArray.append(4)
    // = [0,1,2,3,4]

2.2 任意位置插入

myArray.insert(5, atIndex: 0)
    myArray.insert(5, atIndex: 0)  //数组的索引(atIndex)从 0 开始
    // = [5,0,1,2,3,4]
3 移除内容

3.1 定向移除

myArray.removeAtIndex(4)
myArray.removeAtIndex(4) // 移除第四个位置
//  = [5,0,1,3,4]
myArray.removeFirst() // 移除第一个位置
// = [0,1,3,4]
myArray.removeLast() //移除末尾那个位置
// = [0,1,3]

3.2 全部移除

myArray.removeAll()
  myArray.removeAll()
  // = []
4 数组内容颠倒
myArray.reverse()
  myArray.reverse()
  // = [4,3,2,1,0]
5 可对整数数组进行升序
yArray.sort()
   myArray.sort()
   // = [1,2,3,4,5]
6 数组过滤
extension SequenceType{
    
    func anotherPartitionBy(fu: (Self.Generator.Element)->Bool)->([Self.Generator.Element],[Self.Generator.Element]){
        return (self.filter(fu),self.filter({!fu($0)}))
    }
}

let part2 = [82, 58, 76, 49, 88, 90].anotherPartitionBy{$0 < 60}
part2 // ([58, 49], [82, 76, 88, 90])

let part3 = ["老司机", "司机大佬", "宝马哥", "小司机", "兰博哥", "保时捷"].anotherPartitionBy { (str) -> Bool in
    str.containsString("司机")
    }
part3 // (["老司机", "司机大佬", "小司机"], ["宝马哥", "兰博哥", "保时捷"])
上一篇 下一篇

猜你喜欢

热点阅读