Javascript 角度js中多个二进制数据的按位and运算

Javascript 角度js中多个二进制数据的按位and运算,javascript,bit-manipulation,Javascript,Bit Manipulation,我正在研究angular js 我对多个二进制数据(二进制数据数组[“1”、“100”、“10000”、“10”)的按位and运算有疑问 在我的HTML页面中,有一个包含多个复选框的字段。每个复选框的值为1,2,4,8,16,32。存储在数据库中。 。在特定html页面的控制器中,我将这些转换为二进制数据并存储在数组中。[“1”、“100”、“10000”、“10”] 因此,如果我检查字段的3个值(例如..1,4,16..),这些值对应的二进制数据数组应该执行二进制and运算,并根据结果将其十进

我正在研究angular js

我对多个二进制数据(二进制数据数组[“1”、“100”、“10000”、“10”)的按位and运算有疑问

在我的HTML页面中,有一个包含多个复选框的字段。每个复选框的值为1,2,4,8,16,32。存储在数据库中。 。在特定html页面的控制器中,我将这些转换为二进制数据并存储在数组中。[“1”、“100”、“10000”、“10”]

因此,如果我检查字段的3个值(例如..1,4,16..),这些值对应的二进制数据数组应该执行二进制and运算,并根据结果将其十进制值存储在数据库中


请在这方面帮助我。

首先将字符串转换为int,使用
parseInt
和基数2

然后按位
将它们打包为一个整数

var bits = ["1","100","10000","10"].map(function (x) {
    return parseInt(x, 2);
});

var result = bits.reduce(function (accumulator, curr) {
    return accumulator | curr;
});

//result is now 23 which is the decimal representation of binary  1  0  1   1   1
//-------------------------------------------------------------- 16 +0 +4  +2  +1

现在我的问题是..基于这个结果值..如何绑定到特定字段。例如…字段有1,2,4,16个值,通过添加其23…基于23,我应该选中字段中这些相应值的复选框..请在dis上帮助我。