JavaScriptテックラボ

倍数毎に特別な処理をしたいときの対処法

リストなどで3列目、6列目、9列目で改行したいといった場合、改行したいセルに改行用のタグを付加するという方法があります。
たとえば、下記のようにLIの3番目、6番目にendというクラス名を追加したい場合などです。

  • ...
  • ...
  • ...
  • ...
  • ...
  • ...
  • ...

3番目、6番目、9番目、つまり3の倍数毎に違う処理をしたいといことですね。
forで回している場合は下記のようになります。

for($i= 1; $i<= 12; $i++){
    if( ($i % 3) == 0 ){
        ...ここに3の倍数毎に処理したい内容を記入します。
    }
}

IF文では、条件式が ($i % 3)==0 で、つまり、$iが3で割って割り切れたかどうかを調べています。
割り切れていれば、3の倍数になるので、IF文の中で3の倍数毎にしたい処理を記載します。
非常に簡単な処理ですが、 % を普段使わないので忘れがちですね。

もちろん、2の倍数でも4の倍数でも同様の方法で処理できます。IF文を($i % 2) == 0、($i % 4) == 0と変更すればOKです。

関連記事