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
嬉しい。