swift - 找到海量中所有真实的索引
问题描述
我有一个布尔数组,有 10 个真假,我想知道所有真假的索引
var trueAndFalses = [false, false, true, false, false, false, true, false, false, false]
我试过firstIndex
了,但它只返回 firstIndex (是的有点讽刺)。现在我想知道是否有任何内置函数来查找所有索引true
print(trueAndFalses.firstIndex(of: true))
任何解决方案都会得到应用<3
解决方案
您可以尝试通过访问所有元素并检查其是否为真来查找所有索引,如下所示:
var trueAndFalses = [false, false, true, false, false, false, true, false, false, false]
for var i in (0..<trueAndFalses.count){
if (trueAndFalses[i] == true)
{
print("true fount at index ",i)
}
}
Output:
true fount at index 2
true fount at index 6
Other way:
let indices = trueAndFalses.enumerated().compactMap { $1 == true ? $0 : nil }
print(indices)
Output:
[2, 6]
推荐阅读
- python - 如何在 json dict 中循环并使用 Python 选择特定索引
- sass - 您可以使用 SCSS 模块定位/修改现有类吗?
- sql-server - SQL Server:在存储过程中创建临时表
- php - 如何在 laravel 5.2 上解析失败的作业负载?
- c++ - 将 opencv Mat 传递给函数时,引用非常量的初始值必须是左值
- c++ - 在 C++ 中只有头文件(模板类/函数)的情况下如何使用 Bazel?
- mysql - 如何在 MySQL Workbench 中将大型查询结果的导出拆分为多个 CSV
- angular-material - 使用 Angular 在表格中添加新行
- typescript - 在选项卡中维护从父组件到子组件的生成数据
- html - Angular OnInit 加载 Excel 数据