f# - 获取 F# 中布尔数组中特定位置的索引值
问题描述
我有一个仅包含0
and的数组1
。让我们调用这个数组numbers
。numbers
看起来像这样:
val it : int [] =
[|1; 1; 1; 1; 0; 1; 0; 1; 0; 0; 0; 1; 0; 1; 0; 0; 0; 1; 0; 1; 0; 0; 0; 1; 0;
0; 0; 0; 0; 1; 0; 1; 0; 0; 0; 0; 0; 1; 0; 0; 0; 1; 0; 1; 0; 0; 0; 1; 0; 0;
0; 0; 0; 1; 0; 0; 0; 0; 0; 1; 0; 1; 0; 0; 0; 0; 0; 1; 0; 0; 0; 1; 0; 1; 0;
0; 0; 0; 0; 1; 0; 0; 0; 1; 0; 0; 0; 0; 0; 1; 0; 0; 0; 0; 0; 0; 0; 1; 0; 0;
...|]
我想检索1
发生的索引的值。例如,在上述数组中,索引0
、1
、2
、3
等5
具有1
。我想要一个看起来像这样的数组[| 0; 1; 2; 3; 5; ... |]
:我怎样才能做到这一点?
解决方案
[| 1; 0; 1; 1; 0 |]
|> Array.indexed
|> Array.choose (function (i, n) when n = 1 -> Some i | _ -> None)
// 0; 2; 3
推荐阅读
- java - 如果元素存在于不可编辑的页面中,则非常有用
- php - 使用 URL 掩码运行 URL 时找不到对象
- html - 添加文本意外地将容器向下推
- javascript - 从控制器 Spring 中的 js/ajax 获取 JSON 不起作用
- javascript - node.js多次插入行sql
- azure - Azure Active Directory 文件处理程序不会立即出现
- python - ValueError:X 每个样本有 57 个特征;期待 283 在使用 ML 的文本分类中
- python - Python:复数的 Exp 不起作用
- ms-access - 访问形式:间歇性运行时错误 424
- php - Laravel / Ajax:突出显示函数内部不活动或活动的颜色