Swift - 如何搜索结构数组

Dco*_*ing 3 xcode ios swift swift3

我有一个这样的数组:

struct elephants {
 var name: String
 var age: Int
 var location: String
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个结构数组

var elephantArray [elephants] = [elephant1, elephant2, elephant3]
Run Code Online (Sandbox Code Playgroud)

我想要做的是基于elephans.name进行搜索 - 所以如果elephant2.name是“Bob”,那么当我根据名称“Bob”搜索数组时,它将返回elephant2的索引位置。

我该怎么做呢?

小智 6

这是一个简单的函数,可以帮助您:

func searchElephantIndex(name: String, elephArray: [elephants]) -> Int? {
  return elephArray.firstIndex { $0.name == name }
}
Run Code Online (Sandbox Code Playgroud)

如果请求名称的大象不存在,该函数将返回 nil。