Tambahkan array ke array javascript

Berikut adalah 5 cara untuk menambahkan item ke akhir array.

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
7,
const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
8, dan
const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
9 akan mengubah array asli. Sedangkan
const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
0 dan
const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
1 tidak akan dan malah akan mengembalikan array baru. Mana yang terbaik tergantung pada kasus penggunaan Anda ๐Ÿ‘

Mutatif

Ini akan mengubah array asli

const array = ['๐ŸฆŠ'];

array.push('๐Ÿด');
array.splice(array.length, 0, '๐Ÿด');
array[array.length] = '๐Ÿด';

// Result
// ['๐ŸฆŠ', '๐Ÿด']

Non Mutatif

Ini akan membuat larik baru dan larik asli tetap tidak berubah

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']

3 Cara Menambahkan Item ke Array (Mutatif)

Mari kita lihat 3 cara kita dapat mendorong item ke array. Ini akan menjadi cara mutatif, artinya akan mengubah array asli

dorongan

Cara termudah untuk menambahkan item ke akhir array adalah dengan menggunakan

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
7

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']

Perhatikan saya mengatakan item dan bukan hanya item ๐Ÿ˜‰ Yup, Anda dapat mendorong banyak item

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง', '๐Ÿฆ', '๐Ÿค');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง', '๐Ÿฆ', '๐Ÿค']
_

Tapi melewati item individual sangat membosankan, untungnya kita bisa menggunakan fitur penyebaran ES6. Ini memungkinkan kita untuk melewatkan array dan kemudian menggunakan sintaks

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
3 untuk menyebarkan item ke dalam argumen individual ๐Ÿ™Œ

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];
const birds = ['๐Ÿง', '๐Ÿฆ', '๐Ÿค'];

zoo.push(...birds);

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง', '๐Ÿฆ', '๐Ÿค']

sambatan

Sekilas, metode ini terlihat sangat membutuhkan ๐Ÿ˜‚ karena kami memberikan banyak argumen. Itu karena metode ini dapat menambah ATAU menghapus item array. Oleh karena itu, kami harus memberikan sedikit lebih banyak info untuk melakukan tugasnya. Mari kita lihat parameter yang dibutuhkan

ParameterNama ParameterDefinisi1mulaiIndeksIndeks tempat Anda ingin menambahkan/menghapus item2hapusHitungJumlah item yang ingin Anda hapus3itemJumlah yang ingin Anda tambahkan
(Jika Anda menghapus, Anda dapat mengosongkannya saja)

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.splice(
  zoo.length, // We want add at the END of our array
  0, // We do NOT want to remove any item
  '๐Ÿง', '๐Ÿฆ', '๐Ÿค', // These are the items we want to add
);

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง', '๐Ÿฆ', '๐Ÿค']

panjangnya

Saya pikir ini adalah cara paling pintar dari semua metode. Itu salah satu cara yang tidak pernah terlintas di benak saya. Jadi mari kita pahami mengapa ini berhasil

Array dalam JavaScript adalah indeks nol. Jadi item pertama memiliki indeks

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
4

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

// '๐ŸฆŠ' | Index = 0
// '๐Ÿฎ' | Index = 1

Notasi braket dalam array memungkinkan kita untuk mengambil item TETAPI juga memungkinkan kita mengganti item itu

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

// Retrieve
zoo[0]; // Returns '๐ŸฆŠ'

// Override
zoo[1] = '๐Ÿฅฉ';

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฅฉ']; **

// ** JUST JOKING ๐Ÿ˜‚
// ...I promise no animals were hurt in this blog post ๐Ÿ˜ฌ

Hal yang menarik adalah

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
_5 mengembalikan jumlah total item dalam array. Itu berarti panjangnya selalu satu angka lebih tinggi dari item terakhir indeks kami. Jadi dengan menetapkan nilai pada indeks panjang, pada dasarnya menambahkan item ke akhir array

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];
const length = zoo.length; // 2

zoo[length] = '๐Ÿฏ';

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿฏ']

2 Cara Menambahkan Item ke Array (Non Mutatif)

Baiklah, mari beralih ke menambahkan item ke array dengan cara non mutatif. Di mana larik asli akan tetap tidak tersentuh dan larik baru akan berisi tambahan

concat

Metode ini dimaksudkan untuk menggabungkan array. Jadi kita bisa menggunakannya untuk menambahkan banyak item dengan mengirimkan array

const ocean = ['๐Ÿ™', '๐Ÿฆ€'];
const fish = ['๐Ÿ ', '๐ŸŸ']; // Array of multiple items

const aquarium = ocean.concat(fish);

aquarium; // ['๐Ÿ™', '๐Ÿฆ€', '๐Ÿ ', '๐ŸŸ']

// Original Array Not Affected
ocean; //  ['๐Ÿ™', '๐Ÿฆ€']

Tapi itu tidak hanya menerima array sebagai parameternya, itu juga menerima nilai

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
0

menyebar

Kita dapat menggunakan sintaks spread untuk memperluas setiap elemen array menjadi elemen individual. Aplikasi yang sangat populer adalah menggunakan spread untuk membuat salinan atau menggabungkan dua array terpisah. Ini mirip dengan efek

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
0

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
_1

Namun, jika kita tidak menggunakan spread, kita malah akan mendapatkan array bersarang, yang bukan itu yang kita inginkan

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
_2

Jadi saya bisa menggunakannya untuk menggabungkan array, tetapi kita juga bisa meneruskan nilai individual, seperti yang kita lakukan dalam membuat array biasa

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
_3

Bermutasi Atau Tidak Bermutasi?

Jadi pertanyaannya adalah, untuk bermutasi atau tidak bermutasi ๐ŸŽญ Itu sangat tergantung pada kasus penggunaan Anda. Saat Anda bekerja di Redux atau arsitektur manajemen negara apa pun, semuanya tentang kekekalan. Jadi metode non-mutatif akan menjadi pilihan Anda. Selain itu, gagasan kekekalan sering lebih disukai karena dianggap sebagai praktik yang baik untuk menghindari efek samping -- yang merupakan dasar dari pemrograman fungsional dan menghasilkan fungsi murni

Tapi apakah itu berarti kita tidak boleh menggunakan metode mutatif? . Karena ada kalanya kekekalan tidak menjadi masalah. Ambil contoh sederhana ini

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
_4

Dalam kasus ini, mengapa tidak menggunakan metode mutatif. Tujuan saya untuk menambahkan nilai adalah

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
7. Mengapa? . Ya, Anda dapat berargumen bahwa
const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
_0 juga sangat singkat untuk diketik. Tapi lihat tes kinerja ini. Dorong jauh lebih cepat. โšก๏ธ

Uji kinerja. Dorong vs Concat

Masukan Komunitas

@DigianPaul. Bermutasi atau Tidak Bermutasi? . Tapi, untuk menyederhanakan, misalkan array asli masih dibutuhkan di tempat lain? . Jika tidak diperlukan, Anda dapat memutasikannya secara langsung, yang biasanya lebih cepat daripada membuat salinan

Mengatakan ada struktur data di mana membuat salinan array sama murahnya dengan memutasikannya (atau sebanding dengan murahnya) dan itu sangat keren tetapi tidak begitu tersebar luas di komunitas JavaScript

Itu disebut "Struktur data persisten" dan sangat berguna dalam banyak kasus. Tapi mereka cukup rumit untuk dirancang

Mereka membuat sederhana untuk mengimplementasikan fungsionalitas seperti undo-redo misalnya. Tapi mereka benar-benar bersinar dalam pemrograman fungsional dan juga dalam aplikasi multithread

@KClarkADSTech. Anda juga dapat menambahkan dengan menggunakan

const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง']
9 atau
const zoo = ['๐ŸฆŠ', '๐Ÿฎ'];

zoo.push('๐Ÿง', '๐Ÿฆ', '๐Ÿค');

console.log(zoo); // ['๐ŸฆŠ', '๐Ÿฎ', '๐Ÿง', '๐Ÿฆ', '๐Ÿค']
0

@stojakovic99. Salah satu cara hacky untuk menambahkan item kosong ke array (jika kita bahkan bisa menyebutnya menambahkan item ke array, menurut saya istilah yang lebih tepat adalah mengubah ukuran) adalah. (Namun Anda seharusnya tidak pernah melakukan ini. )

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
5

@devhammed. Anda juga dapat menggunakannya untuk mengecilkan array

const original = ['๐ŸฆŠ'];
let newArray;

newArray = original.concat('๐Ÿฆ„');
newArray = [...original, '๐Ÿฆ„'];

// Result
newArray; // ['๐ŸฆŠ', '๐Ÿฆ„']
original; // ['๐ŸฆŠ']
_6

@johnkazer. Poin tentang tidak bermutasi jika Anda membutuhkan array di tempat lain adalah poin yang bagus, terutama untuk pemrograman paralel atau bersamaan. Bahkan dalam JavaScript utas tunggal Anda mungkin telah melewati array dengan referensi dan mengubah hal-hal secara tidak terduga. Umumnya saya menemukan non-mutasi menjadi metode yang lebih santai

Bagaimana Anda menambahkan array ke array lain?

Gunakan fungsi concat , seperti itu. var larik = [1, 2]; . concat(arrayB); .

Bisakah Anda menambahkan dua larik dalam JavaScript?

Metode concat() digunakan untuk menggabungkan dua atau lebih array . Metode ini tidak mengubah array yang ada, melainkan mengembalikan array baru.

Bisakah Anda meletakkan array di dalam array JavaScript?

JavaScript memungkinkan kita membuat array di dalam array yang disebut Nested Arrays . Array Bersarang memiliki satu atau banyak array sebagai elemen array. Ini mungkin sedikit membingungkan dalam definisi tetapi sangat menarik setelah kita menggali lebih dalam.