とても”奇妙”なJavaScriptの配列:JavaやCとは違うのだよ
白石俊平
2008/02/07 11:00
JavaやCとは全く異なるJavaScriptの配列。これをわかりやすく整理してみた。
in演算子で配列を走査することも可能!
通常、配列をループ処理すると言えば以下のようにしますね。lengthプロパティで配列の長さを取得し、その回数分ループします。
for (var i = 0, n = a.length; i < n; i++) {
...
}
しかしJavaScriptの配列は、通常のオブジェクトとほとんど変わりがないのでした。では、オブジェクトのプロパティを列挙するための演算子、「in」を用いてループすることもできるのではないでしょうか?
その通りです。
オブジェクトに格納されている配列の添え字を、以下のようにして次々と取り出し、ループ処理することが可能です。
var a = ["a", "b", "c"];
// indexには「0, 1, 2」という値が入る
for (var index in a) {
alert(a[index]);
}
in演算子を用いたループ処理は、ある特定のシチュエーションでは、通常のループ処理よりもパフォーマンスの向上に役立ちます。その話題は、次回のお楽しみと言うことにしましょう。
まとめ
今回は、JavaScriptの配列はむしろハッシュテーブル(JavaScriptオブジェクト)であり、配列の添え字はハッシュのキーなのだ、と言うお話をしました。この事実は、JavaScriptのパフォーマンスチューニングをする際などには必須の知識です。必ず押さえておきましょう。
さて、今回は字数の都合でここまで。次回は配列編の最後として、普段皆さんが使用している「配列.length」は、実はとても奇妙なプロパティであると言うことをお話ししたいと思います。
- 特集: JavaScriptのイロハ (17件)
- 2日前のトップ記事
- 4日前
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 読者投票
今、使っているマシンのOSは?
- 話題のタグ
Flash
server
Microsoft
Mac OS X
Java
Safari
MySQL
SOA
Tips
ブラウザ
Internet Explorer
オープンソース
フレームワーク
リファレンス
RIA
C/C++
PHP
Webアプリケーション開発
Windows
HTML
iPhone
Apple
Leopard
小技
イロハ
iPhone 3G
Off Topic
Ruby
入門
ライブラリ
Firefox
JavaScript
iPod touch
Adobe
Eclipse
XHTML
Webデザイン
Ajax
CSS
仮想化
Linux
Opera
Google
Database
Solaris
開発環境
Python
Firefox 3
Apache
Mozilla
話題のタグを見る »
フォトレポート:世界各国の優秀な技術者がパリに集結--Imagine Cup 2008世界大会
バッチ処理でデータベース活用:4つの課題と5つの解決ポイント
Rubyでどう書く?:RubyでWord文書を作成する
Adobe Acrobat 9--音声やクイズを埋め込んでeラーニング
ウェブ制作者が仲間と幸せに仕事をする方法:仲間との出会い
Excelで多用する雑多な操作を素早く片付けるための10のティップス(前編)
開発者のFirefox 3:非互換のアドオンをインストール
Techno Exchange
ZDNet Japan Green IT
「未来の、その先」をどう提言していくか
今知るべき仮想化情報
DELL連載第4回〜「Microsoft System Center」