如果数组项等于name,则获取数组项的索引

时间:2016-02-10 01:50:10

标签: arrays swift

我有一系列这样的项目:

{
  "dateAdded" : "2016-02-09 12:41:37",
  "customValue" : "5",
  "name" : "highestHeight"
},
{
  "dateAdded" : "2016-02-09 12:41:37",
  "customValue" : "46.91",
  "name" : "highestWeight"
},
{
  "dateAdded" : "2016-02-09 12:41:37",
  "customValue" : "14972.02",
  "name" : "highestScore"
},

我想获取与名称= highestScore相关的项目相关联的项目,但不确定我应该如何搜索以及找到示例。

2 个答案:

答案 0 :(得分:1)

如何开始使用Array上的文档,这将显示它实现了CollectionType协议,该协议具有filter功能:

myArray.filter({ $0.name == "highestScore" })

假设它是一个对象/类型的数组,而不是一个Dictionary实例的数组。如果是这种情况,那么你会使用:

myArray.filter({ $0["name"] == "highestScore" })

答案 1 :(得分:1)

您可以在此处查看功能过滤:http://www.raywenderlich.com/82599/swift-functional-programming-tutorial

做类似的事情:

highscoreArray= yourArray.filter { (dictionary) in dictionary["name"]! == "highestScore" }

没有测试过它,但它应该是那样的。