Operátor spread a spojování polí

Nechť máme dvě pole:

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

Pojďme zařídit, aby mezi první a druhý prvek pole arr2 byly vloženy prvky pole arr1.

Jinými slovy, chceme napsat kód, který z aktuálního pole arr2 vytvoří následující pole:

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

Úloha je obecně řešitelná pomocí metody splice. Avšak mnohem snadněji se tato úloha řeší pomocí spread:

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

console.log(arr2); // vypíše [1, 'a', 'b', 'c', 2, 3]
Задание 1

Bez spuštění kódu určete, co se vypíše do konzole:

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

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

Bez spuštění kódu určete, co se vypíše do konzole:

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

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

Bez spuštění kódu určete, co se vypíše do konzole:

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

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

Bez spuštění kódu určete, co se vypíše do konzole:

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

Bez spuštění kódu určete, co se vypíše do konzole:

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

console.log(arr2);