複数の配列(リスト)を連結するには (array_merge, +, concat)

関連

Scala

Seq++: という演算子のように書けるメソッドを使う。または List であれば ::: という演算子のように書けるメソッドも使える。

Signature:

val lst1 = List(1, 2, 3);
val lst2 = List(4, 5, 6);
val result = lst1 ::: lst2;
print(result); // => List(1, 2, 3, 4, 5, 6)

PHP

複数の配列を連結するにはarray_merge関数を使う。この関数は引数の配列を変更せずに連結した結果を返すのみである。

$a1 = array(1, 2, 3);
$a2 = array(4, 5, 6);
$result = array_merge($a1, $a2);

var_export($a1); echo "\n";
// =>
//    array (
//      0 => 1,
//      1 => 2,
//      2 => 3,
//    )
var_export($a2); echo "\n";
// =>
//    array (
//      0 => 4,
//      1 => 5,
//      2 => 6,
//    )
var_export($result); echo "\n";
// =>
//    array (
//      0 => 1,
//      1 => 2,
//      2 => 3,
//      3 => 4,
//      4 => 5,
//      5 => 6,
//    )

配列のキーが数字以外の場合は、それぞれの配列のキーを変更せずに上書きでマージしていくので、要素が追加されるとは限らない。 -> 連想配列をマージ

3つ以上の配列を連結したい場合も、array_merge に渡す引数にそれらの配列を並べるだけでよい。

$result = array_merge($a1, $a2, $a3);

array_merge 関数 | PHP Manual
http://php.net/manual/ja/function.array-merge.php

Ruby / JRuby

配列を+演算子でつなぐと連結できる。

p ["abc", "def"] + ["123", "456"] # => ["abc", "def", "123", "456"]

Array#+ | Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/=2b.html

JavaScript

Array.prototype.concat は配列を連結した新しい配列を生成して返す。この関数は this も引数に渡した配列も変更しない。

var newArr = arr1.concat(arr2, arr3);

引数がない場合は結果として arr1 と同じ内容の新しい配列を生成するだけなので、 配列のコピーの目的でも使える。

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク