Javascript Remove Element From Array By Key

Javascript Remove Element From Array By Key

4 min read Jun 20, 2024
Javascript Remove Element From Array By Key

Cara Menghapus Elemen dari Array dengan Key di JavaScript

Dalam JavaScript, mengelola data dalam array sangatlah umum. Kadang-kadang, Anda perlu menghapus elemen tertentu dari array berdasarkan kunci (key) yang terkait dengan elemen tersebut.

Berikut beberapa metode yang dapat Anda gunakan untuk menghapus elemen dari array berdasarkan kunci:

1. Menggunakan filter()

Metode filter() membuat array baru yang berisi elemen yang memenuhi kondisi tertentu. Anda dapat menggunakannya untuk membuat array baru tanpa elemen yang ingin Anda hapus.

const myArray = [
  { id: 1, name: "John" },
  { id: 2, name: "Jane" },
  { id: 3, name: "Peter" },
];

const keyToRemove = 2;

const newArray = myArray.filter(item => item.id !== keyToRemove);

console.log(newArray); // Output: [{ id: 1, name: "John" }, { id: 3, name: "Peter" }]

Kode ini membuat array baru newArray dengan memfilter myArray dan mengecualikan elemen dengan id 2.

2. Menggunakan splice()

Metode splice() mengubah array asli dengan menghapus, menambahkan, atau mengganti elemen.

const myArray = [
  { id: 1, name: "John" },
  { id: 2, name: "Jane" },
  { id: 3, name: "Peter" },
];

const keyToRemove = 2;

const index = myArray.findIndex(item => item.id === keyToRemove);

if (index !== -1) {
  myArray.splice(index, 1);
}

console.log(myArray); // Output: [{ id: 1, name: "John" }, { id: 3, name: "Peter" }]

Kode ini menggunakan findIndex() untuk mendapatkan indeks elemen dengan id 2. Kemudian, splice() menghapus elemen pada indeks tersebut dari array asli.

3. Menggunakan reduce()

Metode reduce() menggabungkan semua elemen array menjadi nilai tunggal. Anda dapat menggunakannya untuk membuat array baru tanpa elemen yang ingin Anda hapus.

const myArray = [
  { id: 1, name: "John" },
  { id: 2, name: "Jane" },
  { id: 3, name: "Peter" },
];

const keyToRemove = 2;

const newArray = myArray.reduce((acc, item) => {
  if (item.id !== keyToRemove) {
    acc.push(item);
  }
  return acc;
}, []);

console.log(newArray); // Output: [{ id: 1, name: "John" }, { id: 3, name: "Peter" }]

Kode ini membuat array baru newArray dengan mengiterasi melalui myArray dan menambahkan elemen ke acc (array akumulasi) jika id tidak sama dengan keyToRemove.

Pilih Metode yang Tepat

Setiap metode memiliki keunggulan dan kekurangan.

  • filter() dan reduce() menghasilkan array baru tanpa mengubah array asli.
  • splice() mengubah array asli.

Pilih metode yang paling sesuai dengan kebutuhan Anda.

Kesimpulan

Menghapus elemen dari array berdasarkan kunci di JavaScript bisa dilakukan dengan berbagai cara. Anda dapat menggunakan filter(), splice(), atau reduce() untuk mencapai tujuan Anda. Pilih metode yang paling sesuai dengan kebutuhan Anda dan ingat untuk menggunakannya dengan bijak.