スプレッド演算子と配列の結合

2つの配列があるとします:

javascriptlet arr1 = ['a', 'b', 'c'];
let arr2 = [1, 2, 3];

配列 arr2 の最初と2番目の要素の間に、 配列 arr1 の要素を挿入してみましょう。

言い換えれば、現在の配列 arr2 から 次のような配列を作るコードを書きたいのです:

javascript[1, 'a', 'b', 'c', 2, 3]

この課題は、splice メソッドを使っても解決可能です。 しかし、スプレッドを使うとはるかに簡単に解決できます:

javascriptlet arr1 = ['a', 'b', 'c'];
let arr2 = [1, ...arr1, 2, 3];

console.log(arr2); // [1, 'a', 'b', 'c', 2, 3] を出力します
Задание 1

コードを実行せずに、コンソールに何が出力されるか 判断してください:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];

let arr  = ['a', ...arr1, 'b', 'c', ...arr2];
console.log(arr);
Задание 2

コードを実行せずに、コンソールに何が出力されるか 判断してください:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];

let arr  = ['a', ...arr1, ...arr1, 'b', 'c'];
console.log(arr);
Задание 3

コードを実行せずに、コンソールに何が出力されるか 判断してください:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5, 6];

let arr  = ['a', 'b', 'c', ...arr2];
console.log(arr);
Задание 4

コードを実行せずに、コンソールに何が出力されるか 判断してください:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5, 6];
let arr3 = [...arr2, 7, 8, 9];

let arr  = [0, ...arr3];
console.log(arr);
Задание 5

コードを実行せずに、コンソールに何が出力されるか 判断してください:

javascriptlet arr1 = [1, 2, 3];
let arr2 = [...arr1];

console.log(arr2);