假设我有一个像这样的数组:
[
["required": true],
["required": true],
["required": false],
["required": false],
["required": false],
["required": false],
["required": false]
]
我想在required
首先等于false
(位置2)的索引处将新元素插入到此数组中。我确信我可以使用基本的for-each循环来确定这一点,例如:
var idx = 0
for (i, el) in myArray.enumerate() {
if el["required"] == false {
idx = i
break
}
}
但这似乎不像Swift一样。在Swift 2中是否有更清洁(即代码更少)的方法?也许是使用过滤器或地图的东西?
答案 0 :(得分:8)
这个怎么样:
$reviewsum
斯威夫特3:
let idx = myArray.indexOf({$0["required"] == false})
答案 1 :(得分:0)
let required = array.filter { $0["required"] == true }
let notRequired = array.filter { $0["required"] == false }
let result = required + [["required": true]] + notRequired