forループのお作法

高速化の話でよく出てくるが、forループを書く際は、下記お作法に従うべき。

  • 配列(コレクション)の長さをキャッシュしておく
  • i++は、i = i+1と書くか、i += 1と書く
  • 0にカウントダウンする
//良くない例
for(var i = 0; i < array.length; i++){
 //処理
}

//修正版
//array.lengthは一度しか使われていない
//終了条件は配列の長さや0以外の値と比較するのではなく0と比較
for(i = array.length; i--;){
 //処理
}