任何人都知道从数组为true的Bools数组返回索引值数组的优雅方法。例如:从布尔数组中返回一个索引值数组,其中true true
let boolArray = [true, true, false, true]
这应返回:
[0,1,3]
任何人都知道从数组为true的Bools数组返回索引值数组的优雅方法。例如:从布尔数组中返回一个索引值数组,其中true true
let boolArray = [true, true, false, true]
这应返回:
[0,1,3]
let boolArray = [true, true, false, true]
let trueIdxs = boolArray.enumerate().flatMap { $1 ? $0 : nil }
print(trueIdxs) // [0, 1, 3]
备选地(可能更易读)
let boolArray = [true, true, false, true]
let trueIdxs = boolArray.enumerate().filter { $1 }.map { $0.0 }
print(trueIdxs) // [0, 1, 3]
http://stackoverflow.com/questions/24041842/how-to -use-indexesofobjectspassingtest-in-swift? – Larme