Javascriptでのfor文のまわし方

PHPに慣れていると、Javascriptのfor文の扱い方に戸惑うことがあります。

以下のような書き方をされることが多いですが、このような書き方では連想配列には対応できません。

        for (var i = 0; i < Array.length; i++) {
          if(Array[i] == true){
            .....
          }
        }

自分には以下のような書き方が一番簡単でした。これだとPHPとも似た感覚でfor文を扱うことが可能です。

      for(key in Array){
        if(Array[key] == true){
         .....
        }
      }