Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 查找数组中与Swift中特定条件匹配的第一个元素_Ios_Arrays_Swift - Fatal编程技术网

Ios 查找数组中与Swift中特定条件匹配的第一个元素

Ios 查找数组中与Swift中特定条件匹配的第一个元素,ios,arrays,swift,Ios,Arrays,Swift,假设我有这样一个数组: [ ["required": true], ["required": true], ["required": false], ["required": false], ["required": false], ["required": false], ["required": false] ] 我想在这个数组的索引处插入一个新元素,其中requiredfirst等于false(位置2)。我相信我可以使用每个循环的基

假设我有这样一个数组:

[
    ["required": true],
    ["required": true],
    ["required": false],
    ["required": false],
    ["required": false],
    ["required": false],
    ["required": false]
]
我想在这个数组的索引处插入一个新元素,其中
required
first等于
false
(位置2)。我相信我可以使用每个循环的基本参数来确定这一点,例如:

var idx = 0
for (i, el) in myArray.enumerate() {
    if el["required"] == false {
        idx = i
        break
    }
}
但这似乎不是很迅速。在Swift 2中是否有更干净(即更少的代码)的方法?也许是使用过滤器或映射的东西?

这个怎么样:

let idx = myArray.indexOf({$0["required"] == false})

Swift 3:

let idx = myArray.index(where: { $0["required"] == false })
这个怎么样:

let idx = myArray.indexOf({$0["required"] == false})

Swift 3:

let idx = myArray.index(where: { $0["required"] == false })