【发布时间】:2016-06-30 02:10:27
【问题描述】:
我有一个简单的位掩码,3("011" in base 2)表示我应该提取 array[0] 和 array[1] 而不是 array[2]
什么是有效的方法?
最终,我生成了一个新数组,其中的值传递了 .filter
类似这样的:
var bitmask = 37, // "100101"
array = ["a", "b", "c", "d", "e", "f"];
var array2 = array.filter((value, index) => {
// do something with bitmask and index to return true
});
// array2 should be ["a", "c", "f"];
【问题讨论】:
-
这不是位掩码,它是一个字符串。
-
你是对的,但你知道我的意思,它实际上是一个数字
-
实际上将其覆盖为二进制然后一个字符串会很有用,这样您就可以遍历它并检查
"1"。 -
问题是,我正在从 000001 迭代到 111111,以便我可以获得所有可能的选择来填充最多 6 个插槽,不确定我是否要循环遍历字符串以及数组
-
不应该返回
['a', 'd', 'f']吗?或者我把你的问题弄错了。如果位掩码长度高于数组长度怎么办?
标签: javascript algorithm bitmask