arrays – 从Bool数组返回索引值数组,其中为true

任何人都知道一种优雅的方法来返回值为true的Bools数组中的索引值数组.例如:

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

这应该返回:

[0,1,3]

解决方法

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

或者(可能更具可读性)

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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...