Bagaimana Anda menyalin array dalam javascript?

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

Bagaimana Anda menyalin array dalam javascript?

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"

Bagaimana Anda menyalin array dalam javascript?

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

Bagaimana Anda menyalin array dalam javascript?

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

Bagaimana Anda menyalin array dalam javascript?

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 );

Bagaimana Anda menyalin array dalam javascript?

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

Bagaimana cara menyalin array dalam JavaScript?

Menggunakan Concat . Concat adalah metode yang sangat berguna untuk menggabungkan dua iterable. Dengan cara ini, kami mengambil array kosong dan menggabungkan array asli ke dalamnya. Itu membuat salinan baru dari array.

Bagaimana Anda menyalin seluruh array?

Jawaban. Ada berbagai metode untuk menyalin array. .
Anda dapat menggunakan perulangan for dan menyalin elemen satu per satu
Gunakan metode klon untuk mengkloning array
Gunakan metode arraycopy() dari kelas Sistem
Gunakan metode copyOf() atau copyOfRange() dari kelas Arrays