Kode dapat disederhanakan menggunakan sintaks penyebaran array karena metode push() dapat menerima banyak parameter. Menggunakan sintaks Spread, Anda dapat memperluas ekspresi array di dalam metode push(), yang mengharapkan nol atau lebih argumen
Anda dapat menggunakan operator spread (". ") untuk mengkloning array dalam JavaScript. Operator penyebaran (". ") tersedia di JavaScript ES6 ke atas dan dapat digunakan untuk menyalin larik dengan "memperluas" elemennya
JavaScript Copy Array dengan Contoh Operator Spread
let array = ['JavaScript', 'Clone', 'Array', 'Example']; console.log(newArray = [...array]); // output: ['JavaScript', 'Clone', 'Array', 'Example']
Bagaimana cara menyalin larik JavaScript menggunakan metode slice()?
Array. metode slice() dalam JavaScript digunakan untuk mendapatkan bagian dari array dari indeks awal hingga indeks akhir. Metode slice() tidak mengubah larik asli. Jika larik asli berisi objek yang merujuk ke objek lain, hanya referensinya yang akan disalin ke larik baru (salinan dangkal)
JavaScript Copy Array dengan contoh metode slice()
let array = ['JavaScript', 'Copy', 'Array', 'Example']; console.log(array.slice()); // output: ['JavaScript', 'Copy', 'Array', 'Example']_
Bagaimana cara mengkloning array JavaScript menggunakan metode concat()?
Array. metode concat() dalam JavaScript digunakan untuk menggabungkan dua atau lebih array menjadi satu. Anda juga dapat menggunakan metode concat() untuk mengkloning array. Metode concat() mengembalikan array baru tanpa mengubah yang asli
JavaScript Clone Array dengan contoh metode concat()
let array = ['JavaScript', 'Clone', 'Array', 'Example']; let newArray = [].concat(array); console.log(newArray); // output: ['JavaScript', 'Clone', 'Array', 'Example']
Bagaimana cara mengkloning array JavaScript dengan metode from()?
Array. metode from() dalam JavaScript membuat larik baru dari larik asli. Metode ini diperkenalkan di ES6 dan hanya berfungsi di browser modern, tetapi Anda dapat menggunakan pustaka polyfill untuk mendapatkan fungsionalitas modern di browser lama
JavaScript Clone Array dengan contoh metode from()
let array = ['JavaScript', 'Clone', 'Array', 'Example']; let newArray = Array.from(array); console.log(newArray); // output: ['JavaScript', 'Clone', 'Array', 'Example']
Lihat juga
- Bagaimana cara saya memeriksa apakah sebuah array berisi nilai dalam JavaScript?
- Bagaimana cara saya mengiris array dalam JavaScript?
- Bagaimana cara membalikkan array dalam JavaScript?
- Bagaimana cara mendapatkan jumlah array dalam JavaScript?
- Bagaimana cara menggabungkan array menjadi string dalam JavaScript?
Contoh dan artikel API Terkait Salinan Javascript
Bagaimana cara mengirim permintaan POST menggunakan JavaScript?
Saya menyadari bahwa arr2 mengacu pada array yang sama dengan arr1, bukan array baru yang independen. Bagaimana saya bisa menyalin array untuk mendapatkan dua array independen?
Menjawab
Karena // 1) Array of literal-values (boolean, number, string) const type1 = [ true, 1, "true" ]; // 2) Array of literal-structures (array, object) const type2 = [ [], {} ]; // 3) Array of prototype-objects (function) const type3 = [ function () {}, function () {} ]; _7 adalah larik nilai literal (boolean, angka, atau string), Anda dapat menggunakan teknik penyalinan dalam apa pun yang dibahas di atas, di mana slice() dan sebarkan // 1) Array of literal-values (boolean, number, string) const type1 = [ true, 1, "true" ]; // 2) Array of literal-structures (array, object) const type2 = [ [], {} ]; // 3) Array of prototype-objects (function) const type3 = [ function () {}, function () {} ]; 0 memiliki kinerja tertinggi
Ketika referensi ada dalam array, salinan dangkal hanya menyalin alamat referensi. Jadi, jika Anda membuat beberapa perubahan pada satu salinan, modifikasi tersebut juga akan tercermin pada salinan lainnya; . Anda dapat mengkloning elemen Array menggunakan penyalinan dalam untuk menghindari situasi ini
Tulisan ini akan membahas metode untuk menyalin elemen Array dalam JavaScript dengan bantuan contoh yang sesuai
Cara menyalin elemen Array di JavaScript
Larik JavaScript dianggap sebagai tipe referensi yang berarti bahwa jika Anda menetapkan satu larik ke larik lain menggunakan operator penugasan "=", itu hanya akan menetapkan referensi dari larik asli dan tidak akan menyalin elemen larik
Setelah penugasan referensi, saat Anda menambahkan atau memodifikasi elemen larik kedua, elemen larik pertama juga akan terpengaruh. Anda dapat memiliki pemahaman yang lebih baik dengan bantuan contoh berikut
Contoh
Misalnya, kami telah membuat larik bernama "burung" yang memiliki elemen berikut
var burung = ['Parrot' , < 'Crow'];
Pada langkah selanjutnya, kami akan mencoba menetapkan "burung" ke larik "newBirds" menggunakan operator penugasan "="
var newBirds = burung ;
konsol. log( Burung baru );
Setelah itu, kita akan menambahkan elemen baru ke array “newBirds” dengan bantuan metode push() JavaScript
Burung baru. dorong('Pigeon')
Terakhir, kami akan menampilkan elemen array "burung" dan "burung baru" di jendela konsol
konsol. log( burung );
konsol. log( Burung baru );
Output yang diberikan di bawah ini menandakan bahwa ketika telah menyalin elemen array "burung" dengan menggunakan operator penugasan "=", perubahan yang dilakukan setelahnya diterapkan ke kedua array
Pada titik ini, Anda telah memahami bahwa Array dianggap sebagai nilai referensi dalam JavaScript, jadi saat Anda menggunakan operator penugasan, hanya referensi dari array asli yang akan disalin, bukan elemen array.
Dalam JavaScript, Anda dapat menggunakan metode “Shallow Copy” atau “Deep Copy” untuk menyalin elemen array. Apakah istilah-istilah ini terdengar baru bagi Anda? . Kami akan menjelaskannya di bagian selanjutnya
Salinan Dangkal dalam JavaScript
Salinan bit-bijaksana dari suatu objek disebut Salinan Dangkal
- Dalam salinan Dangkal, objek baru dibuat dengan salinan persis dari nilai objek yang ditentukan
- Salinan dangkal sebagian besar digunakan untuk menyalin elemen level pertama, yang berarti Anda hanya dapat mengkloning elemen array Satu Dimensi atau 1D
- Jika objek asli berisi referensi apa pun, maka hanya alamat referensi yang akan disalin
Metode spread operator […], slice(), dan concat() memungkinkan Anda menyalin elemen array secara dangkal di JavaScript
Salinan Dalam di JavaScript
Jika Anda ingin menyalin elemen array multidimensi, Anda harus melakukan operasi Deep Copying untuk menyalin elemen array asli
Istilah "Deep Copy" mengacu pada prosedur penyalinan rekursif. Pertama, ia membuat kumpulan objek baru dan kemudian secara rekursif menyalin elemen array yang ditentukan. Jadi, kita dapat mengatakan bahwa, dalam kasus Deep Copy, larik JavaScript lengkap disalin atau diklon ke larik lain, dan menyalin level pertama dan semua elemen bersarang dari larik multi-dimensi
JSON. merangkai() dan JSON. metode parse() digunakan untuk menyalin array multi-dimensi, di mana JSON. stringify() metode akan mengubah objek yang ditentukan menjadi string, yang dapat Anda ubah menjadi Array dengan bantuan JSON. mengurai() metode
Sekarang, mari kita lihat beberapa contoh praktis untuk menyalin array tunggal dan multi-dimensi dengan metode penyalinan Dangkal dan Jauh yang disebutkan di atas
Cara menyalin elemen Array di JavaScript menggunakan operator spread
Dalam JavaScript, operator “spread” dapat digunakan untuk menyalin atau menyebarkan elemen array. Tiga titik berturut-turut “…” mewakili operator spread. Ingatlah bahwa operator spread hanya akan menyalin elemen array pada level satu, dan elemen bersarang diteruskan sebagai referensi
Sintaks operator spread untuk menyalin Elemen Array
var array2 = [ . array1];
Di sini, operator spread akan menyalin elemen "array1" ke "array2"
Contoh. Cara menyalin elemen Array di JavaScript menggunakan operator spread
Pertama-tama, kita akan membuat array baru bernama "burung" yang memiliki dua elemen. “Burung Beo” dan “Gagak”
var burung = ['Parrot' ,< 'Crow'];
Kemudian, kita akan menyalin elemen larik "burung" ke larik "burungbaru".
var burung baru = [ . burung];
konsol. log( Burung baru );
Selain itu, Anda dapat memverifikasi apakah penambahan elemen baru dalam larik “newBirds” akan mengubah larik “burung” atau tidak
Burung baru. dorong('Pigeon')
konsol. log( Burung baru );
konsol. log( burung );
Seperti yang Anda lihat dari output, kami telah berhasil menyalin elemen larik "burung" ke larik "burung baru", dan mendorong elemen baru ke "burung baru" belum menerapkan perubahan apa pun dalam larik "burung"
Cara menyalin elemen Array di JavaScript menggunakan metode slice()
Metode JavaScript slice() digunakan untuk menyalin elemen array ke objek atau array lain. Array asli tidak akan dimodifikasi jika menggunakan metode slice()
Sintaks metode slice() untuk menyalin Elemen Array
var larik2 = larik1. irisan();
Menurut sintaks, metode slice() akan menyalin elemen "array1" ke dalam "array2"
Contoh. Cara menyalin elemen Array di JavaScript menggunakan metode slice()
Dalam contoh yang diberikan di bawah ini, kami akan menggunakan metode “slice()” untuk menyalin elemen array “birds” ke array “newBirds”
var burung = ['Parrot' ,< 'Crow'];
var newBirds = burung. irisan();
konsol. log( Burung baru );
Sekarang, mendorong elemen baru dalam larik “newBirds” tidak akan mengubah larik “burung”.
Burung baru. dorong('Pigeon')
konsol. log( Burung baru );
konsol. log( burung );
Ini adalah output yang kami dapatkan dari menjalankan program yang diberikan di atas
Dari output yang diberikan di atas, dapat dilihat dengan jelas bahwa penambahan elemen dalam larik “newBirds” tidak memengaruhi elemen larik “burung”
Cara menyalin elemen Array di JavaScript menggunakan metode concat()
“concat()” adalah metode JavaScript berguna lainnya yang dapat membantu Anda menyalin elemen array. Dalam metode concat(), Anda dapat mengambil array kosong dan menyalin elemen array asli ke dalamnya. Ini akan membuat salinan baru dari array yang ditentukan
Sintaks metode concat() untuk menyalin elemen Array
var array2 = [] . concat( array1 );
Dalam sintaks yang diberikan di atas, metode concat() akan menyalin elemen "array1" dalam array kosong [], dan kemudian hasilnya akan disimpan dalam "array2"
Contoh. Cara menyalin elemen Array di JavaScript menggunakan metode concat()
Sekarang, kita akan menggunakan metode JavaScript “concat()” untuk menyalin elemen array “birds” ke “newBirds”
var burung = ['Parrot' ,< 'Crow'];
var burung baru = [] . concat( burung );
konsol. log( Burung baru );
Selanjutnya, kita akan mendorong elemen baru ke larik “newBirds” dan memeriksa apakah itu juga memperbarui larik “burung”
Burung baru. dorong('Pigeon')
konsol. log( Burung baru );
konsol. log( burung );
Lihatlah output yang diberikan di bawah ini
Seperti yang Anda lihat pada output yang diberikan di atas, mendorong elemen baru dalam larik “newBirds” belum mengubah larik “burung”
Cara menyalin elemen Array Multi-Dimensi dalam JavaScript
Jika Anda ingin menyalin elemen dari array multidimensi, Anda dapat menggunakan JSON. merangkai() dan JSON. mengurai() metode. JSON. stringify() metode akan mengubah objek yang ditentukan menjadi string, yang kemudian dapat diubah menjadi array dengan bantuan JSON. mengurai() metode
Sintaks untuk menyalin elemen Array Multi-Dimensi
var array2 = JSON. mengurai( JSON. merangkai( array1 ));
Pertama, “JSON. stringify()” metode akan mengubah “array1” menjadi string dan kemudian akan mengurainya menjadi array (objek) menggunakan metode “JSON. metode parse()”. Elemen array yang dikembalikan kemudian akan disalin ke "array2"
Contoh. Cara menyalin elemen Array Multi-Dimensi dalam JavaScript
Dalam contoh ini, kami telah menggunakan JSON. merangkai() dan JSON. metode parse() untuk menyalin elemen array "burung" multi-dimensi ke "burung baru"
var burung = [ { nama :'Burung Beo' } , { name:'Gagak'} ];
var burung baru = JSON. mengurai( JSON. merangkai( burung ));
konsol. log( Burung baru );
Output yang diberikan di atas menandakan bahwa kita telah berhasil menyalin elemen dari array "birds" ke "newBirds"
Kesimpulan
metode spread operator “[…]”, slice(), dan concat() memungkinkan Anda untuk menyalin elemen array 1D secara dangkal dalam JavaScript dan untuk menyalin array multi-dimensi secara mendalam, JSON. merangkai() dan JSON. metode parse() digunakan, di mana metode JSON. stringify() metode akan mengubah objek yang ditentukan menjadi string, yang kemudian dapat diuraikan menjadi Array dengan JSON. mengurai() metode. Tulisan ini membahas metode untuk menyalin elemen array dalam JavaScript