.concat()

concat()メソッドは他の値と/または値を連結して構成した新しい配列を返します。

文法

arr.concat(value1, value2, ..., valueN)
引数 説明
valueN 連結する配列と/または値を指定します。

説明

concatは、この呼び出されたオブジェクトと、それに順に続く各引数の配列の要素(もし、その引数が配列であれば)、 またはその引数自身の要素(もし、その引数が配列で無ければ)で構成される新しい配列を作成します。

concatは、元の配列または引数として提供された配列を変更することはありませんが、 代わりに元の配列から他の要素を連結したコピーを含む浅いコピーを返します。 元の配列の要素は、下記のようにして、新しい配列へコピーされます。

  • オブジェクト参照(実際のオブジェクトでは無く):concatは、オブジェクト参照を新しい配列にコピーします。 元の配列と新しい配列の両方は同じ配列を参照します。 そのため、もし参照されているオブジェクトが変更されると、新しい配列と元の配列の両方に、その変更が反映されます。
  • 文字列と数値(StringとNumberオブジェクトでは無く):concatは、その文字列の値と数値の値を、 新しい配列へコピーします。

新しい配列での何らかの操作は、元の配列に影響を与えることは無く、その逆もしかりです。

例

例:2つの配列を連結

下記のコードでは、2つの配列を連結しています。

var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];

// 新しい配列 ["a", "b", "c", 1, 2, 3]を作成。
// 元のalpha、numericには変更なし。
var alphaNumeric = alpha.concat(numeric);

例:3つの配列を連結

var num1 = [1, 2, 3];
var num2 = [4, 5, 6];
var num3 = [7, 8, 9];

// 新しい配列 [1, 2, 3, 4, 5, 6, 7, 8, 9]を作成。
// 元の配列num1、num2、num3は変更なし。
var nums = num1.concat(num2, num3);

例:配列へ値を連結

下記のコードは3つの値を配列へ連結します。

var alpha = ['a', 'b', 'c'];

// 新しい配列 ["a", "b", "c", 1, 2, 3]を作成。
// 元の配列alphaは変更なし。
var alphaNumeric = alpha.concat(1, [2, 3]);

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本 1.0 1.0 (1.7 or earlier) 5.5 ◯ ◯
モバイル
機能 Android Chrome for
Android
Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本 ◯ ◯ ◯ ◯ ◯ ◯

関連項目

  • push / pop - 配列の末尾から、要素の追加/削除を行います。
  • unshift / shift - 配列の先頭から、要素の追加/削除を行います。
  • splice - 配列の指定した位置から、要素の追加/削除を行います。
  • String.prototype.concat()

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。