Array Copy Javascript Es6

4 min read Jun 23, 2024
Array Copy Javascript Es6

Array Copy di JavaScript ES6

Di JavaScript, array adalah objek yang dapat menyimpan berbagai jenis data. Terkadang, Anda mungkin perlu membuat salinan array yang ada untuk memanipulasinya tanpa memengaruhi array asli. Artikel ini membahas berbagai cara untuk melakukan copy array di JavaScript ES6.

1. Spread Syntax

Cara paling sederhana untuk menyalin array adalah dengan menggunakan spread syntax (...). Operator ini mengekstrak elemen dari array dan memasukkannya ke dalam array baru.

const originalArray = [1, 2, 3, 4, 5];
const copiedArray = [...originalArray];

console.log(copiedArray); // Output: [1, 2, 3, 4, 5]

copiedArray[0] = 10;

console.log(originalArray); // Output: [1, 2, 3, 4, 5]
console.log(copiedArray); // Output: [10, 2, 3, 4, 5]

2. Array.from()

Metode Array.from() menciptakan array baru dari objek yang dapat diiterasi, termasuk array yang ada.

const originalArray = [1, 2, 3, 4, 5];
const copiedArray = Array.from(originalArray);

console.log(copiedArray); // Output: [1, 2, 3, 4, 5]

copiedArray[0] = 10;

console.log(originalArray); // Output: [1, 2, 3, 4, 5]
console.log(copiedArray); // Output: [10, 2, 3, 4, 5]

3. slice()

Metode slice() membuat salinan array mulai dari indeks yang ditentukan sampai indeks terakhir. Jika tidak ada argumen yang diberikan, ia akan menyalin seluruh array.

const originalArray = [1, 2, 3, 4, 5];
const copiedArray = originalArray.slice();

console.log(copiedArray); // Output: [1, 2, 3, 4, 5]

copiedArray[0] = 10;

console.log(originalArray); // Output: [1, 2, 3, 4, 5]
console.log(copiedArray); // Output: [10, 2, 3, 4, 5]

4. concat()

Metode concat() mengembalikan array baru yang berisi semua elemen dari array asli dan elemen tambahan yang Anda tentukan.

const originalArray = [1, 2, 3, 4, 5];
const copiedArray = originalArray.concat();

console.log(copiedArray); // Output: [1, 2, 3, 4, 5]

copiedArray[0] = 10;

console.log(originalArray); // Output: [1, 2, 3, 4, 5]
console.log(copiedArray); // Output: [10, 2, 3, 4, 5]

Perbedaan Antara Metode

  • Spread syntax, Array.from(), dan slice() membuat salinan shallow dari array. Artinya, jika array asli berisi objek, objek tersebut akan direferensikan oleh kedua array (asal dan salinan).
  • concat() dapat membuat salinan shallow atau deep tergantung pada parameternya. Jika Anda ingin membuat salinan deep, Anda perlu menggunakan concat() dengan array baru yang kosong.

Kesimpulan

Mampu menyalin array dengan benar adalah hal penting dalam pemrograman JavaScript. ES6 memberikan beberapa metode untuk melakukan hal ini. Pilih metode yang paling cocok untuk kebutuhan Anda.

Jika Anda membutuhkan salinan deep dari array yang berisi objek, Anda perlu menggunakan metode khusus seperti JSON.parse(JSON.stringify(array)).

Related Post