SYNCERのロゴ
アイキャッチ画像

Array - 配列

Arrayは配列を取り扱うための機能を備えたオブジェクトです。

概要

名前
Array
仕様書
https://tc39.github.io/ecma262/#sec-array-objects

チュートリアル

配列のインスタンスを作成するには、コンストラクタ、またはリテラル構文を利用しましょう。手軽なのは後者です。下記は2つとも同じ構造の配列を作ります。

var a = new Array( "a", "b", "c" ) ;	// コンストラクタ
var a = [ "a", "b", "c" ] ;	// リテラル構文

コンストラクタを利用する際の注意点は、引数を1つだけ指定してそれが数値(n)の場合です。この時、nという要素がある配列ができるのではなく、長さがnだけど要素は空の配列が作られます。

var a = new Array( 3 ) ;	// [ 3 ](length=1)ではなく、[](length=3)の配列が作成される

こういったややこしい仕様による意図しない不具合を回避するためにArray.of()というコンストラクタメソッドがあります。この関数はコンストラクタ関数と同じように使えて、引数が1つの数値の場合でも、それを要素として配列を作成してくれます。

// コンストラクタ関数の場合
var a = new Array( 3 ) ;	// [ 3 ](length=1)ではなく、[](length=3)の配列が作成される

// Array.of()の場合
var a = Array.of( 3 ) ;	// [ 3 ](length=1)の配列が作成される

何はともあれ特別都合が悪いのでなければ、配列はリテラル構文で作成しておけば間違いはないと思います。

プロパティ

prototype.constructor

コンストラクタのArrayを返します。

prototype.length

配列の長さを返すプロパティです。

メソッド

from()

配列に似たオブジェクトから配列を作るコンストラクタメソッドです。

isArray()

引数に指定した値が配列か否かを判定するコンストラクタメソッドです。

of()

配列のインスタンスを作るコンストラクタメソッドです。

prototype.concat()

引数に指定した値を元に配列に追加した新しい配列を返します。

prototype.copyWithin()

配列の一部分をコピーして、そのまま別部分に上書きするメソッドです。

prototype.entries()

配列からIteratorを作成するメソッドです。

prototype.every()

配列の全ての要素が、指定した条件を満たしているか否かを確認するメソッドです。

prototype.fill()

配列の一部を固定値で埋めるメソッドです。

prototype.filter()

配列から条件を満たさない要素を取り除くメソッドです。

prototype.find()

配列から条件を満たす値を取得するメソッドです。

prototype.findIndex()

配列から条件を満たす要素のインデックス番号を取得するメソッドです。

prototype.forEach()

配列の各要素を材料に処理を実行するメソッドです。

prototype.includes()

配列に指定した要素が存在するか検索するメソッドです。

prototype.indexOf()

配列にある値が存在するか前方から検索し、最初にヒットしたインデックス番号を返すメソッドです。

prototype.join()

配列の各要素を連結した文字列を返すメソッドです。

prototype.keys()

配列の各キーで構成された新しいIteratorを返すメソッドです。

prototype.lastIndexOf()

配列にある値が存在するか後方から検索し、最初にヒットしたインデックス番号を返すメソッドです。

prototype.map()

配列の各要素に関数を実行し、その返り値で構成された新しい配列を作成するメソッドです。

prototype.pop()

配列の末尾の要素を削除するメソッドです。

prototype.push()

配列の末尾に要素を追加するメソッドです。

prototype.reduce()

配列の要素を前方から後方にかけて簡約化するメソッドです。

prototype.reduceRight()

配列の要素を後方から前方にかけて簡約化するメソッドです。

prototype.reverse()

配列を逆順にするメソッドです。

prototype.shift()

配列の先頭の要素を削除するメソッドです。

prototype.slice()

配列の一部を切り取るメソッドです。

prototype.some()

配列のいずれかの要素が指定した条件を満たしているか否かを確認するメソッドです。

prototype.sort()

配列を任意のルールでソートするメソッドです。

prototype.splice()

配列の一部を置換するメソッドです。

prototype.toLocaleString()

配列をローカライズした文字列に変換した値を取得するメソッドです。

prototype.toString()

配列を文字列に変換した値を取得するメソッドです。

prototype.unshift()

配列の先頭に要素を追加するメソッドです。

prototype.values()

配列の各値で構成された新しいIteratorを返すメソッドです。

サポート状況

FeaturesChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
Array
from() 45+ 32+ 9.1+× 32+ 9.1+×
isArray() 5.1+ 9+
of() 45+ 25+ 9.1+× 32+ 9.1+×
prototype
constructor 9+
length
concat()
copyWithin() 45+ 32+ 9.1+× 32+ 9.1+×
entries() 38+ 28+ 7.1+× 25+ 8.3+×
every() 9+
fill() 45+ 31+ 7.1+× 32+ 8.3+×
filter() 9+
find() 45+ 25+ 7.1+× 32+ 8.3+×
findIndex() 45+ 25+ 7.1+× 32+ 8.3+×
forEach() 9+
includes() 47+ 43+ 9.1+× 34+ 9.1+×
indexOf() 9+
join()
keys() 38+ 28+ 7.1+× 25+ 8.3+×
lastIndexOf() 9+
map() 9+
pop()
push()
reduce() 9+
reduceRight() 9+
reverse()
shift()
slice()
some() 9+
sort()
splice()
toLocaleString()
toString()
unshift()
values()×× 9.1+×× 9.1+×
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年9月26日 (火)
コンテンツを公開しました。