Skip to content

JavaScriptの配列操作一覧[中編]

JavaScriptのArrayオブジェクトの持つアクセサメソッドについてまとめました。

その他の種類のメソッドについては、こちらの記事をご覧ください。

参考サイト:https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array

また、次の記事では特に便利なメソッドについて紹介しています。

アクセサメソッド一覧

アクセサメソッドとは、メソッドを適用した配列そのものは変更せずに何らかの値を返すメソッドのことを指します。

挙動の確認は、次のブラウザで行いました。

  • Chrome 51.0.2704.103
  • Firefox 47.0
  • Edge 25.10586.0.0
  • IE11 11.0.32

slice(抽出コピー)

配列の一部のコピーを返す。

構文

あまり使いませんが、begin に負の数を指定すると、配列の末尾からのインデックスになります。

また、array.slice(0) とすることで、もとの配列をコピーした配列を取得することができます。

concat(連結コピー)

配列に他の配列や値をいくつか連結したコピーを返す。

構文

引数を空にして array.concat() とすれば元の配列のコピーを取得できます。ただし、concat の引数を空にすることがどこまで許容されているのかわからないので、上で紹介したarray.slice(0) を使ったほうが安全かもしれません。

join(配列→文字列変換)

配列の要素を結合した文字列を返す。

構文

例1.

例2.

配列は’,’で区切られ、オブジェクトは[Object]と表現されるようです。 また、null と undefined は空文字列になります。

toString(配列→文字列変換)

配列の要素を結合した文字列を返す。

構造

例1.

例2.

パッと見 array.join() の下位互換です。何か特徴があるのでしょうか。

toLocaleString(配列→文字列変換)

配列の要素を結合した文字列を返す。

構造

例1.

例2.

ブラウザ上で動作させる分には array.toString() と同じ挙動をするようです。

toSource(配列→ソースコード変換)

配列のソースコードを表す文字列を返す。

※非標準。Firefoxでしか動きません。

構造

あまり気にしなくてもいいメソッドのようです。挙動もいまいちよくわかりません。

indexOf(要素の位置確認)

fromIndex よりも後ろに存在する指定した要素の最初のインデックスを返す。

構造

要素が存在するかを判定するときによく利用するメソッドですね。

lastIndexOf(要素の位置確認)

fromIndex よりも前に存在する指定した要素の最後のインデックスを返す。

構造

fromIndex よりも前の要素に対して末尾から探索し、インデックスを返してくるようです。

includes(要素の存在確認)

要素が配列に存在するかを判定し、真偽値を返す。

※非標準。IE, Edge では動きません。

構造

まだ実験段階とのことですが、これが標準になれば array.indexOf() を使って要素の有無を判定する必要がなくなり、ソースの見通しが良くなりそうです。

まとめ

以上が、配列のアクセサメソッドです。

より正確に挙動を理解するには、空値判定やシャローコピー / ディープコピーなどについても詳しくなっておくとよいです。

(次回:JavaScriptの配列操作一覧[後編]

Comments are closed.