[ Leksykon ] [ JavaScript ] [ Tablice ] [ Metody ] [ Właściwości ] [ Array() ]
Array.prototype.concat()
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
concat()
concat(value1)
concat(value1, value2)
concat(value1, value2, /* …, */ valueN)
Przykłady:
const tablicaA = ['A', 'B', 'C'];
const tablica1 = [1, 2, 3];
let tablicaA1 = tablicaA.concat (tablica1);
console.log(tablicaA1);
// Array ["A", "B", "C", 1, 2, 3]
tablica1[Symbol.isConcatSpreadable] = false;
tablicaS = tablicaA.concat(tablica1);
console.log(tablicaS);
// Array ["A", "B", "C", Array [1, 2, 3]]
const obiektA = { 0: 'A', 1: 'B', 2: 'C', length: 3 };
const obiektB = { 0: 1, 1: 2, 2: 3, length: 3, [Symbol.isConcatSpreadable]: true };
let tablicaA = [0].concat(obiektA, obiektB);
console.log(tablicaA);
// Array [0, Object { 0: "A", 1: "B", 2: "C", length: 3 }, 1, 2, 3]
const tablicaA = ['A', 'B', 'C'];
const tablicaB = ['D', 'E', 'F'];
const tablicaC = tablicaA.concat (tablicaB);
console.log(tablicaC);
// Array ["a", "b", "c", "d", "e", "f"]
const tablicaA = [['A'], 'B', 'C'];
const tablicaB = ['D', 'E', ['F']];
const tablicaC = tablicaA.concat (tablicaB);
console.log(tablicaC);
// Array [Array ["A"], "B", "C", "D", "E", Array ["F"]]
tablicaC[0].push('A1');
console.log(tablicaC);
// Array [Array ["A", "A1"], "B", "C", "D", "E", Array ["F"]]
const tablicaA = ['A', , 'C'];
const tablicaB = ['D', , 'F'];
const tablicaC = tablicaA.concat (tablicaB);
console.log(tablicaC);
// Array ["a", "b", "c", "d", "e", "f"]
console.log(Array.prototype.concat.call({}, 'A', 'B', 'C'));
// Array [Object { }, "A", "B", "C"]
console.log(Array.prototype.concat.call(1, 2, 3));
// Array [1, 2, 3]
const tablica = {
[Symbol.isConcatSpreadable]: true,
length: 3,
0: 1,
1: 2,
2: 'D',
3: 99, // ignorowane bo length tylko: 3
};
console.log(Array.prototype.concat.call(tablica, 3, 4, 5));
// Array [1, 2, "D", 3, 4]
Opis:
Metoda Array.concat() instancji Array służy do łączenia dwóch lub więcej tablic. Ta metoda nie zmienia istniejących tablic, ale zamiast tego zwraca nową tablicę. Parametry to tablice (i, lub) wartości do połączenia w nową tablicę. Jeśli wszystkie parametry zostaną pominięte, concat zwraca płytką kopię istniejącej tablicy, na której jest wywoływana. Wartość zwracana nowa Array instancja. Metoda concat tworzy nową tablicę. Tablica zostanie najpierw zapełniona elementami obiektu, w którym jest wywoływana. Następnie dla każdego argumentu jego wartość zostanie włączona do tablicy. W przypadku normalnych obiektów lub prymitywów sam argument stanie się elementem końcowej tablicy. W przypadku tablic lub obiektów tablico podobnych z właściwością Symbol.isConcatSpreadable ustawioną na wartość true, każdy element argumentu zostanie niezależnie dodany do końcowej tablicy. Metoda concat nie wykorzystuje zagnieżdżonych argumentów tablicy. Metoda concat() jest metodą kopiowania. Nie zmienia this żadnej z tablic podanych jako argumenty, ale zamiast tego zwraca płytką kopię zawierającą te same elementy, co te z oryginalnych tablic. Metoda concat() zachowuje puste miejsca, jeśli którakolwiek z tablic źródłowych jest rzadka. Metoda concat() jest ogólna. Wartość this jest traktowana w taki sam sposób, jak pozostałe argumenty z wyjątkiem tego, że najpierw zostanie przekonwertowana na obiekt, co oznacza, że zwykłe obiekty zostaną bezpośrednio dodane do wynikowej tablicy, podczas gdy obiekty podobne do tablicy z prawdą zostaną rozłożone w wynikowej @@isConcatSpreadable tablicy.
Zobacz:
Symbol.isConcatSpreadable