Javascript文字列はバイナリでビット演算を行います.


文字列は「1001001」のようにバイナリでビット単位で演算する必要がありますが、実際にはJavascriptは10進数でバイナリに変換され、演算して10進数に戻る結果が欲しいわけではありません.
この文字列を直接バイナリとして処理したいですが、残念ながらJavascriptは文字列をバイナリとして提供していません.十進数をバイナリに変換する方法toString(2)を提供しています.したがって、バイナリ形式の文字列を直接ビット単位で演算する方法を見つける必要があります.
考え方:各文字列を巡回する各文字
[ビット和&:この文字が1の場合、新しい配列の対応するビットの値に1を加算し、最後にその値が文字列の個数に等しいかどうかを判断することによって、対応する1または0を返します.]
[ビット単位と|:文字が1の場合、新しい配列の対応するビットの値1を与え、そうでなければ0を返し、最後に新しい配列を返します.]
以下の関数はビットまたは124で計算されます.
/*
 * Convert String "100010" as Binary "100010"
 */
function binaryOr(arr){
    var len1 = arr.length,len2 = 0;
    var arrItem = "";
    var resultArr = new Array(len1);
    for(var i = 0;i < len1;i++){//           
        arrItem = arr[i];
        len2 = arrItem.length;
        for(var j = 0; j < len2; j++){//         
            if(arrItem[j] == 1){
                resultArr[j] = 1;
            }else{
                if(resultArr[j] != 1){
                    resultArr[j] = 0;
                }
            }
        }
    }
    return resultArr;
}
var curArr = ["001010","001100"];
var rs = binaryOr(curArr);
console.log(rs);