Bitwise対 Assoc Array 反復テストには、次のスニペットがあります。
var arr = [1,0,1,0,0,0,0,0,1,1,0,0,1];
var o = [];
for(var i = 0; i < 100; i++){
var a = [(Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1), (Math.random > 0.5 ? 0 : 1)];
var b = 0;
for(var j=0; j < a.length; j++){
b |= (a[j] << j);
}
o << {a: a, b: b};
}
テスト用のデータを準備します。最後のステートメントは、左シフトがあるという事実を除いて、私には意味がありません。インタープリターはエラーをスローせず、黙って受け入れるだけです。