Jak sloučit dvě pole v JavaScriptu

Ve vanilla JavaScript existuje několik způsobů, jak zkombinovat všechny prvky dvou polí a vrátit nové pole. Můžete buď použít Array.concat() metoda nebo operátor spread (... ) ke sloučení více polí.

Array.concat() vezme jedno nebo více polí jako vstup a sloučí všechna následující pole do prvního:

const fruits = ['Apple', 'Orange', 'Banana'];

const moreFruits = ['Kiwi', 'Lemon'];

// merge all fruits
const allFruits = fruits.concat(moreFruits);

console.log(allFruits);

// ['Apple', 'Orange', 'Banana', 'Kiwi', 'Lemon']

Tato metoda funguje ve všech moderních prohlížečích a IE6 a vyšších. Můžete také sloučit více než dvě pole pomocí Array.concat() metoda:

const arr1 = [1, 2];
const arr2 = [3, 4];
const arr3 = [5, 6];

let combined = [].concat(arr1, arr2, arr3);

console.log(combined); // [ 1, 2, 3, 4, 5, 6 ]

Všimněte si [].concat() syntaxi, kterou jsme použili ve výše uvedeném příkladu ke sloučení polí. Podobá se prvnímu příkladu kromě toho, že vstupní pole jsou sloučena s prázdným polem.

Pokud vám záleží pouze na moderních prohlížečích, raději použijte ES6 operátor šíření pro sloučení polí:

const fruits = ['Apple', 'Orange', 'Banana'];

const moreFruits = ['Kiwi', 'Lemon'];

// merge all fruits
const allFruits = [...fruits, ...moreFruits];

console.log(allFruits);

// ['Apple', 'Orange', 'Banana', 'Kiwi', 'Lemon']

Co když pole obsahují duplicitní Prvky? V ECMAScriptu 5 neexistuje žádný „zabudovaný“ způsob odstranění duplikátů. K odfiltrování všech duplikátů však můžete použít objekt ES6 Set spolu s operátorem spread:

const fruits = ['Apple', 'Lemon', 'Banana'];

const moreFruits = ['Kiwi', 'Lemon'];

// merge all fruits
const allFruits = [...new Set([...fruits, ...moreFruits])];

console.log(allFruits);

// ['Apple', 'Lemon', 'Banana', 'Kiwi']

Tento přístup funguje pouze v moderních prohlížečích a Node.js. Podívejte se na tento článek, kde se dozvíte více o odstraňování duplikátů z pole v JavaScriptu.

Chcete-li se dozvědět více o JavaScriptových polích, podívejte se na tuto příručku, která podrobně vysvětluje, jak JavaScriptová pole fungují a jak je používat k ukládání více informací do jedné proměnné.