I am trying to find an item index
by searching a list
. Does anybody know how to do that?
I see there is list.StartIndex
and list.EndIndex
but I want something like python's list.index("text")
.
To get the first index of an item in an array in Swift, use the array. firstIndex(where:) method. print(i1!)
Index for every String is that Characters in Swift are not all the same length under the hood. A single Swift Character might be composed of one, two, or even more Unicode code points. Thus each unique String must calculate the indexes of its Characters.
Just use firstIndex method.
To filter an array in Swift: Call the Array. filter() method on an array. Pass a filtering function as an argument to the method.
As swift is in some regards more functional than object-oriented (and Arrays are structs, not objects), use the function "find" to operate on the array, which returns an optional value, so be prepared to handle a nil value:
let arr:Array = ["a","b","c"] find(arr, "c")! // 2 find(arr, "d") // nil
Use firstIndex
and lastIndex
- depending on whether you are looking for the first or last index of the item:
let arr = ["a","b","c","a"] let indexOfA = arr.firstIndex(of: "a") // 0 let indexOfB = arr.lastIndex(of: "a") // 3
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With