Array.prototype.concat() - 配列を連結する
Array.prototype.concat()は、配列を連結するメソッドです。引数に指定した値を元に配列に追加した新しい配列を返します。元の配列に変更はありません。引数に配列を指定した場合、配列の各要素が追加されます。
概要
説明
Array.prototype.concat ( ...arguments )
任意の数だけ指定した引数(arguments)が元の配列の末尾に追加された新しい配列が作成されます。引数に配列を指定した場合、配列そのものではなく配列内の各要素が追加されます。
チュートリアル
元の配列の末尾に引数を追加した新しい配列が返ります。元の配列に変更はありません。
var array = [ "a", "b", ] ;
var newArray = array.concat( "c", "d", "e" ) ; // [ "a", "b", "c", "d", "e", ]
引数の配列はそのまま追加されるのではなく、各要素に分解されて追加されます。この仕様を覚えておきましょう。分解されるのは第1階層までです。
var array = [ "a", "b", ] ;
var newArray = array.concat( [ "c", "d", "e" ] ) ; // [ "a", "b", [ "c", "d", "e" ], ]ではなく、[ "a", "b", "c", "d", "e", ]
var newArray = array.concat( [ "c", "d", ["e"] ] ) ; // [ "a", "b", "c", "d", [ "e" ], ]
デモ
Array.prototype.concat()のデモです。
<!-- このコードは編集できます。 -->
<!DOCTYPE html>
<html>
<head>
<style>
body {
white-space: pre-wrap ;
}
</style>
</head>
<body>
<script>
/** try it! **/
var array = [ "a", "b" ] ;
var a = array.concat( "c", "d", "e" ) ;
var b = array.concat( [ "c", "d", "e" ] ) ;
var c = array.concat( "c", [ "d", "e" ] ) ;
/** try it! **/
var results = { a:a, b:b, c:c, } ;
for( var name in results ) {
console.log( name, results[name] ) ;
document.body.appendChild( new Text( name + " = " + JSON.stringify( results[name] ) + "\n" ) ) ;
}
</script>
</body>
</html>
サポート状況
Chrome | Firefox | Safari | Edge | IE | Opera | iOS Safari | Android |
---|---|---|---|---|---|---|---|
● | ● | ● | ● | ● | ● | ● | ● |
関連記事
- Array.prototype.push()
- Array.prototype.push()は、配列の末尾に要素を追加するメソッドです。元の配列が変更されます。引数は可変で、一度にいくつも追加することができます。
- Array.prototype.map()
- Array.prototype.map()は、配列の各要素に関数を実行し、その返り値で構成された新しい配列を作成するメソッドです。元の配列に変更はありません。
- HTMLCollection
- HTMLCollectionは、HTML要素の集合を表すオブジェクトです。Elementだけが含まれた配列であるかのように、手軽にインデックス番号でアクセスできます。
- Array.prototype.findIndex()
- Array.prototype.findIndex()は、配列から条件を満たす要素のインデックス番号を取得するメソッドです。前方から後方にかけて検索し、条件を満たす一番最初の要素だけが返ります。条件を満たす要素が1つもない場合、undefinedが返ります。なお、find()は、値ではなく、インデックス番号が返ります。