swift-tips之如何查詢陣列物件的index
Swift-Version:4.2.1
正文
我們在開發中經常會碰到這樣一種需求:查詢某個element在陣列中的index。首先,我們想到的是通過for-in來獲取index。但是這樣效率比較低,而且不夠優雅。我們其實可以通過一種優雅的方式,就是下面Swift中陣列提供的兩個API:
//獲取第一個element的index
public func firstIndex(of element: Element) -> Int?
//獲取最後一個element的index
public func lastIndex(of element: Element) -> Int?
複製程式碼
示例:
let num = [11,22,33,44,55,33]
//輸出2
print(num.firstIndex(of: 33))
//輸出5
print(num.lastIndex(of: 33))
複製程式碼
注:
- 該API返回的值是一個optional,因為可能存在陣列不包含查詢的element的情況
- 通過API的名字可以看出,只能查詢第一個element和最後一個element,並不能查詢中間的element。比如上面的陣列如果出現三次
33
,這兩個API只能返回第一個和最後一個的index
我的github-blog
參考
相關推薦
swift-tips之如何查詢陣列物件的index
Swift-Version:4.2.1 正文 我們在開發中經常會碰到這樣一種需求:查詢某個element在陣列中的index。首先,我們想到的是通過for-in來獲取index。但是這樣效率比較低,而且不夠優雅。我們其實可以通過一種優雅的方式,就是下面Swift中陣列提供的兩個API: //獲取第一個e
Swift-Tips之'==='與'=='的區別
正文 ==:它預設比較基本型別的值,比如:Int,String等,它不可以比較引用型別(reference type)或值型別(value type),除非該類實現了Equatable let str1 = "hello" let str2 = "hello" //true print(str1
Swift-Tips之rounded(_:)
rounded(_:) 使用指定的舍入規則將該值取整。 程式碼示例 let nums = [3.0, 3.001, 3.5, 3.999, -3.0, -3.001, -3.5, -3.999] let rules = [FloatingPointRoundingRule.awayFromZero, .
[Swift]LeetCode34. 在排序陣列中查詢元素的第一個和最後一個位置 | Find First and Last Position of Element in Sorted Array
Given an array of integers nums sorted in ascending order, find the starting and ending position of a given target value. Your algorit
樹狀陣列之查詢中位數詳解(1057 Stack (30 分))
intuition 最近在刷pta甲級的題目, 解題過程中遇到一個之前沒有用過的知識點——樹狀陣列, 原題連結在這裡1057 Stack (30 分), 題目的大致意思是在傳統的棧的基礎上,要新增一個查詢當前棧中元素的中位數的功能, 首先想到可以用通過維護一個BST來做, 在一個二叉
每日一條js之陣列物件forEach遍歷陣列方法
方法: array.forEach(function(當前元素(必), 當前元素的索引值, 當前元素所屬的陣列物件), thisValue(如果這個引數為空, "undefined" 會傳遞給 "this" 值)) 陣列物件的forEach中有兩個引數第一個是回撥函式,
numpy之通過陣列與PIL.Image物件的互轉進行圖片處理
------------------------------------------------語法基礎------------------------------------------------ import numpy
Unity之查詢物件的幾種方法
GameObject.FindObjectsOfType(typeof(型別)) as 型別[]; GameObject.FindObjectsOfType<型別>(); GameObject.FindObjectsOfTypeAll(typeof(型別[]))as 型別[];此方法在新版本
工作流activiti之啟動例項物件,查詢處理任務,完成要處理任務
/** * 啟動流程例項物件 */ @Test public void testStartProcess() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RuntimeSe
js之陣列,物件,類陣列物件
陣列定義:簡而言之就是一組有序的資料集合,其索引為從0開始且自然增長的整數,其元素值可以是任何js資料!並且包含一個名為length的屬性,該屬性表示陣列元素的個數! 看著上面的定義,我們很容易就能大概知道陣列是什麼樣的東西,下面我們來看個簡單的例子: 1 2 3 4 5 var
演算法筆記-快速排序之無序陣列中查詢中位數
問題描述: 給一個無序陣列array和陣列長度n,找出其中的中位數(這裡考慮n為奇數) Sample: ***** Input: ***** @[@(500),@(120),@(7),@(220),@(3),@(8),@(4),@(200),@(100
SpringMVC 之@RequestBody 接收Json陣列物件
前臺使用ajax技術,傳遞json字串到後臺;後臺使用Spring MVC註解@RequestBody 接受前臺傳遞的json字串,並返回新的json字串到前臺;前臺接受後臺傳遞過來的json資料,並顯示。 2. 前臺介面和js <%@ page l
Swift 4.0學習之:陣列和字典
陣列和字典 陣列和字典的建立和OC基本一致,不用寫前面的@而已,但是遍歷字典的時候,Swift由於有元祖這個東西在,改進的方便了一點,,舉例如下: let dictionay = ["一":1,
php陣列學習之in_array() 函式查詢陣列中是否存在某個值
下面給給同學們介紹一下php陣列的內建函式in_array(). bool in_array ( mixed needle, array haystack [, bool strict]) 第一個引數:needle是要查詢的值,值可以是數字也可以是字串,當是字串時候,是區分大小寫。 第二個引數:hays
php 之 查詢 投票練習0508
sheng rms svm rem ins jieba ngx nor au3 %E4%BD%BF%E7%94%A8LIBSVM%E5%B7%A5%E5%85%B7%E5%AE%9E%E7%8E%B0%E6%A0%B7%E6%9C%AC%E5%88%86%E7%B1%BB%
ArcGIS JS之查詢一個圖層的全部信息
clas link result arcgis ini var tex value add <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &
Swift學習之元組(Tuple)
元素 first 類型 hello 元組 world ron test str 定義 元組是由若幹個類型的數據組成,組成元組的數據叫做元素,每個元素的類型都可以是任意的。 用法一 let tuples1 = ("Hello", "World", 2017) //元組跟數組一
swift開發之 -- ? 和 ! 的作用
裏的 http col 調用 play class 種類型 value sel 記錄下這個知識點: 一般我們在一下兩種情況會遇到 ? 和 !的使用 1,聲明變量時 var number:Int? var str:String? 2,在對變量進行操作時 number?.
swift開發之 -- 自動輪播圖(UIScrollView+UIPageControl+Timer)
mode nal uipage logs swift es2017 ida lin true 比較簡單,原理就不說了,這裏只做記錄: 代碼如下: 1,準備 var pageControl:UIPageControl? var myscrollView:UIScro
JDBC操作數據庫之查詢數據
arr 移動 null pattern || tle back pub long 以數據庫中查找圖書信息,並將信息顯示在jsp頁面當中為例,下面貼上代碼片段: (1)在index.jsp頁面代碼body中只要添加如下一段代碼: <a href="FindServlet