Javascript Remove Multiple Items From Array By Index

Javascript Remove Multiple Items From Array By Index

3 min read Jun 20, 2024
Javascript Remove Multiple Items From Array By Index

Cara Menghapus Beberapa Elemen dari Array di JavaScript Berdasarkan Indeks

Dalam pengembangan JavaScript, seringkali kita perlu menghapus beberapa elemen dari array berdasarkan indeksnya. Artikel ini akan membahas beberapa cara untuk mencapai hal tersebut.

1. Menggunakan splice()

Metode splice() merupakan cara yang paling umum dan fleksibel untuk menghapus elemen dari array. Berikut cara penggunaannya:

const numbers = [1, 2, 3, 4, 5];

// Menghapus elemen pada indeks 1 dan 3
numbers.splice(1, 2);

console.log(numbers); // Output: [1, 4, 5]

Penjelasan:

  • splice(startIndex, deleteCount)
    • startIndex: Indeks awal elemen yang akan dihapus.
    • deleteCount: Jumlah elemen yang akan dihapus.

Dalam contoh di atas, kita menghapus elemen pada indeks 1 (nilai 2) dan 3 (nilai 4). deleteCount bernilai 2, sehingga dua elemen dihapus.

2. Menggunakan filter()

Metode filter() memungkinkan kita untuk membuat array baru yang berisi elemen-elemen yang memenuhi kondisi tertentu. Kita dapat menggunakannya untuk menghapus elemen berdasarkan indeks dengan membandingkan indeks dengan nilai yang tidak ingin dihapus.

const numbers = [1, 2, 3, 4, 5];
const indicesToRemove = [1, 3];

const filteredNumbers = numbers.filter((_, index) => !indicesToRemove.includes(index));

console.log(filteredNumbers); // Output: [1, 3, 5]

Penjelasan:

  • filter((_, index) => !indicesToRemove.includes(index))
    • _: Placeholder untuk elemen array, tidak digunakan dalam kasus ini.
    • index: Indeks elemen saat ini.
    • !indicesToRemove.includes(index): mengembalikan true jika indeks saat ini tidak ada dalam indicesToRemove, sehingga elemen tersebut akan dimasukkan dalam array baru.

3. Menghapus Elemen secara Manual (Iterasi)

Anda juga dapat menghapus elemen secara manual dengan iterasi melalui array dan menghapus elemen yang diinginkan.

const numbers = [1, 2, 3, 4, 5];
const indicesToRemove = [1, 3];

for (let i = indicesToRemove.length - 1; i >= 0; i--) {
  const indexToRemove = indicesToRemove[i];
  numbers.splice(indexToRemove, 1);
}

console.log(numbers); // Output: [1, 3, 5]

Penjelasan:

  • Iterasi dilakukan dari belakang (i >= 0) agar penghapusan elemen tidak mengganggu indeks elemen yang belum diproses.
  • splice(indexToRemove, 1) menghapus satu elemen pada indeks yang ditentukan.

Kesimpulan

Ada beberapa cara untuk menghapus elemen dari array berdasarkan indeks di JavaScript. Metode splice() merupakan pilihan yang paling umum dan fleksibel, sedangkan filter() lebih cocok untuk membuat array baru tanpa mengubah array asli. Anda dapat memilih metode yang paling sesuai dengan kebutuhan Anda.