久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Swift數(shù)組截取詳解

        Swift數(shù)組截取詳解

        來(lái)源:千鋒教育
        發(fā)布人:xqq
        時(shí)間: 2023-11-21 16:00:41 1700553641

        一、基本概念

        1、Swift數(shù)組

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        

        2、ArraySlice數(shù)組片段

        ArraySlice是數(shù)組的一個(gè)“指針”,它指向一個(gè)原數(shù)組的片段,包含原數(shù)組的某些位置。在這個(gè)基礎(chǔ)上,我們可以實(shí)現(xiàn)對(duì)原數(shù)組的截取。

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //使用ArraySlice進(jìn)行截取
        let arrSlice = arr[1...3]
        //ArraySlice的類(lèi)型是一個(gè)Slice>對(duì)象
        print(type(of: arrSlice)) //Slice>
        

        二、下標(biāo)截取

        1、使用整型下標(biāo)對(duì)數(shù)組進(jìn)行截取

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //使用整型下標(biāo)進(jìn)行截取
        let subArr = arr[1...3]
        print(subArr) //[130, 140, 150]
        

        2、使用Range下標(biāo)對(duì)數(shù)組進(jìn)行截取

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //使用Range下標(biāo)進(jìn)行截取
        let subArr = arr[1..<3]
        print(subArr) //[130, 140]
        

        3、使用切片下標(biāo)對(duì)數(shù)組進(jìn)行截取

        切片下標(biāo)語(yǔ)法如下:

        
        arr[startIndex..

        其中,startIndex表示起始位置,endIndex表示終止位置,兩個(gè)點(diǎn)(..)表示包含終止位置,三個(gè)點(diǎn)(...)表示不包含終止位置。

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //使用切片下標(biāo)進(jìn)行截取
        let subArr = arr[1...3] //包含終止位置
        let subArr2 = arr[1..<3] //不包含終止位置
        print(subArr) //[130, 140, 150]
        print(subArr2) //[130, 140]
        

        三、截取String類(lèi)型數(shù)組

        1、使用Range下標(biāo)對(duì)數(shù)組進(jìn)行截取

        
        //定義一個(gè)包含字符串?dāng)?shù)據(jù)的數(shù)組
        var strArr: Array = ["one", "two", "three", "four", "five"]
        //使用Range下標(biāo)進(jìn)行截取
        let subArr = strArr[1..<3]
        print(subArr) //["two", "three"]
        

        2、使用切片下標(biāo)對(duì)數(shù)組進(jìn)行截取

        
        //定義一個(gè)包含字符串?dāng)?shù)據(jù)的數(shù)組
        var strArr: Array = ["one", "two", "three", "four", "five"]
        //使用切片下標(biāo)進(jìn)行截取
        let subArr = strArr[1...3] //包含終止位置
        let subArr2 = strArr[1..<3] //不包含終止位置
        print(subArr) //["two", "three", "four"]
        print(subArr2) //["two", "three"]
        

        四、使用數(shù)組方法進(jìn)行截取

        1、使用prefix方法獲取數(shù)組前幾個(gè)元素

        prefix方法語(yǔ)法如下:

        
        arr.prefix(_ maxLength: Int) -> ArraySlice
        

        其中,maxLength表示截取的最大長(zhǎng)度。

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //使用prefix方法獲取前3個(gè)元素
        let subArr = arr.prefix(3)
        print(subArr) //[120, 130, 140]
        

        2、使用suffix方法獲取數(shù)組后幾個(gè)元素

        suffix方法語(yǔ)法如下:

        
        arr.suffix(_ maxLength: Int) -> ArraySlice
        

        其中,maxLength表示截取的最大長(zhǎng)度。

        
        //定義一個(gè)包含字符串?dāng)?shù)據(jù)的數(shù)組
        var strArr: Array = ["one", "two", "three", "four", "five"]
        //使用suffix方法獲取后3個(gè)元素
        let subArr = strArr.suffix(3)
        print(subArr) //["three", "four", "five"]
        

        3、使用dropFirst方法截取數(shù)組頭部元素

        dropFirst方法語(yǔ)法如下:

        
        arr.dropFirst(_ k: Int) -> ArraySlice
        

        其中,k表示要截取的元素?cái)?shù)量。

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //使用dropFirst方法截取前兩個(gè)元素
        let subArr = arr.dropFirst(2)
        print(subArr) //[140, 150, 160]
        

        4、使用dropLast方法截取數(shù)組尾部元素

        dropLast方法語(yǔ)法如下:

        
        arr.dropLast(_ k: Int) -> ArraySlice
        

        其中,k表示要截取的元素?cái)?shù)量。

        
        //定義一個(gè)包含字符串?dāng)?shù)據(jù)的數(shù)組
        var strArr: Array = ["one", "two", "three", "four", "five"]
        //使用dropLast方法截取后兩個(gè)元素
        let subArr = strArr.dropLast(2)
        print(subArr) //["one", "two", "three"]
        

        五、異常情況處理

        1、下標(biāo)越界

        當(dāng)截取的范圍超過(guò)數(shù)組邊界時(shí),Swift會(huì)拋出一個(gè)fatal error,需要在代碼中進(jìn)行異常處理。

        
        //定義一個(gè)包含整型數(shù)據(jù)的數(shù)組
        var arr: Array = [120, 130, 140, 150, 160]
        //下標(biāo)越界異常處理示例
        do {
          let subArr = arr[1...10] //超過(guò)數(shù)組長(zhǎng)度
          print(subArr)
        } catch let error {
          print(error.localizedDescription) //Index out of range
        }
        

        2、使用數(shù)組方法截取空數(shù)組

        當(dāng)截取一個(gè)空數(shù)組時(shí),由于沒(méi)有任何元素,使用數(shù)組方法進(jìn)行截取將返回一個(gè)空的ArraySlice對(duì)象。需要在代碼中進(jìn)行判斷和處理。

        
        //定義一個(gè)空數(shù)組
        var emptyArr: Array = []
        //截取空數(shù)組異常處理示例
        let subArr = emptyArr.prefix(3)
        if subArr.isEmpty {
          print("Empty Array") //Empty Array
        }
        

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        inputref用法介紹

        針對(duì)inputref這個(gè)輸入框引用對(duì)象,本文將從以下幾個(gè)方面進(jìn)行詳細(xì)的闡述,包括:常見(jiàn)用法、特殊用法、如何實(shí)現(xiàn)等內(nèi)容。一、常見(jiàn)用法inputref是一...詳情>>

        2023-11-21 18:57:06
        詳解192.168.81

        一、192.168.81的登陸入口192.168.81是一個(gè)常見(jiàn)的路由器IP地址,它提供了多種登錄入口。其中,192.168.81.1是最常用的入口地址之一。在默認(rèn)情況...詳情>>

        2023-11-21 18:46:18
        set+e在編程中的應(yīng)用

        一、什么是set+eSet+e是一種在編程中廣泛應(yīng)用的數(shù)據(jù)結(jié)構(gòu),也被稱(chēng)為集合。簡(jiǎn)單來(lái)說(shuō),集合就是一組互不相同的元素。在編程中,Set+e通常用于存儲(chǔ)...詳情>>

        2023-11-21 17:27:06
        實(shí)卡接碼短信平臺(tái)及其應(yīng)用

        一、平臺(tái)介紹實(shí)卡接碼短信平臺(tái)是一種可以自動(dòng)處理短信驗(yàn)證碼的平臺(tái)。該平臺(tái)主要由短信接口、卡池管理、卡池調(diào)度、號(hào)碼顯匿、號(hào)碼推送等模塊組成...詳情>>

        2023-11-21 16:43:54
        Nginx日志格式詳解

        一、Nginx日志格式Nginx是一款高性能的HTTP和反向代理服務(wù)器,它采用默認(rèn)的日志格式記錄所有請(qǐng)求和響應(yīng)。Nginx日志格式由以下幾個(gè)部分組成:log...詳情>>

        2023-11-21 16:15:06
        榆中县| 米脂县| 库伦旗| 海宁市| 娄烦县| 乳源| 陆丰市| 新乡县| 黑龙江省| 昌黎县| 石城县| 蒙自县| 板桥市| 千阳县| 延边| 武定县| 增城市| 萍乡市| 调兵山市| 扶余县| 濮阳市| 巴楚县| 阳谷县| 土默特左旗| 和硕县| 沙雅县| 都匀市| 沽源县| 涞水县| 东城区| 平南县| 宜阳县| 滨海县| 兴海县| 东台市| 家居| 蒙城县| 乐至县| 井研县| 南平市| 龙海市|