JavaScriptの配列をちゃんと理解する:JavaやCとは大違い

白石俊平
2008/02/04 09:00

JavaScriptの配列について、基礎からきっちりと理解しましょう。今回は基礎の基礎を学びます。

配列の基本をおさらい(2)

配列のループ処理

 配列要素をループ処理するためには、配列オブジェクトが持つ「length」プロパティを使うのが普通です。lengthプロパティは配列の「長さ」を返します。

for (var i = 0; i < a.length; i++) {
    ...
}

 ちなみに上のコードは、下のようにするとパフォーマンスが大きく向上します。その理由は、「a.length」を最初の一度しか参照しないためです。JavaScriptのドット(.)演算子は、すでにご存じの通りハッシュテーブルの検索処理を伴いますので、かなりの処理コストを伴うためです。

for (var i = 0, n = a.length; i < n; i++) {
    ...
}

配列のメソッド

配列のオブジェクトは、以下のようなメソッドを使用することができます。

要素の挿入や削除に用いるメソッド
  • pop()・・・配列末尾の要素を削除し、その値を返す。
  • push(value, ...)・・・配列の末尾に引数で与えられた値(複数可)を追加する
  • shift()・・・配列先頭から要素を削除し、その値を返す。
  • unshift(value, ...)・・・配列の先頭に引数で与えられた値(複数可)を追加する
  • slice(start, end)・・・startからendまでの要素を切り出した新しい配列を返す。endを省略すると、配列の末尾までが切り出される。start/endに負の値を指定すると、配列末尾から数えた位置を表す。
  • splice(start, deleteCount, value, ...)・・・startから始まる配列要素をdeleteCount分削除し、そこにvalue(複数可)を挿入する。このメソッドは元の配列自身を変更する。配列要素の挿入/削除/置換の全てを、このメソッドだけでまかなうことが可能だ。
要素の並べ替えを行うためのメソッド
  • reverse()・・・配列を逆順に並べ替える
  • sort(sortFunc)・・・配列をソートする。sortFuncを省略すると、要素を文字列に変換した値が比較に使われる。sortFuncは二つの値を引数にとり、値の大小を比較して返す関数(大小が同じならばゼロ、それ以外の場合は正数か負数を返す)
その他
  • concat(value, ...)・・・元の配列の末尾に、引数で与えられた値(複数可)を追加した、新しい配列を返す
  • join(separator)・・・separatorを区切り文字として、配列を結合した文字列を返す。separatorが省略された場合はカンマが区切り文字として使用される。
記事の感想やご意見をコメントでお寄せください(CNET_IDログインが必要です)
ログイン パスワードを忘れた方  |  新規登録
米フォレスター・リサーチ社 シニアアナリスト Jeremiah K.Owyang氏を迎え、同氏が提唱するソーシャルテクノロジーを効果的に活用方法するための方法『POST』を日本で初めて紹介する注目のリアルイベント
  • 新着記事
  • 人気記事
  • 特集
  • ブログ