メモを揉め

お勉強の覚書。

1ずつ変化する数に/n&1すると、0と1をn回ずつトグルできる

0で初期化したaを1ずつ増やし、そのたびに割る2アンド1をする。

 

var a = 0;
a / 2 & 1;    // 0
a++;
a / 2 & 1;    // 0
a++;
a / 2 & 1;    // 1
a++;
a / 2 & 1;    // 1
a++;
a / 2 & 1;    // 0
a++;
a / 2 & 1;    // 0
a++;
a / 2 & 1;    // 1
a++;
a / 2 & 1;    // 1

0と1が2回ずつ表れる。

 

for文とかのループの中で、n回ずつ処理を切り替えたい時。

こんな風に書くと、

 

var n = 5,
    str = "";

for (var i = 0; i < 100; i++) {
    str += i / n & 1;
}

console.log(str);

 

こんな風に出力される

 

0000011111000001111100000111110000011111000001111100000111110000011111000001111100000111110000011111

 

嬉しい。