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

白石俊平(あゆた)
2008-02-04 09:00:00
  • このエントリーをはてなブックマークに追加

配列の基本をおさらい(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が省略された場合はカンマが区切り文字として使用される。
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]