5 votes

Retourne un tableau de valeurs d'index à partir d'un tableau de Bool où true

Je ne sais pas s'il existe un moyen élégant de retourner un tableau de valeurs d'index à partir d'un tableau de Bools où les valeurs sont vraies. Par exemple

let boolArray = [true, true, false, true]

Il doit revenir :

[0,1,3]

7voto

dfri Points 11222
let boolArray = [true, true, false, true]
let trueIdxs = boolArray.enumerate().flatMap { $1 ? $0 : nil }
print(trueIdxs) // [0, 1, 3]

Autre solution (peut-être plus lisible)

let boolArray = [true, true, false, true]
let trueIdxs = boolArray.enumerate().filter { $1 }.map { $0.0 }
print(trueIdxs) // [0, 1, 3]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X