Javascript Remove Objects From Array By Value

Javascript Remove Objects From Array By Value

4 min read Jun 20, 2024
Javascript Remove Objects From Array By Value

Cara Menghapus Objek dari Array Berdasarkan Nilai di JavaScript

Artikel ini akan membahas tentang bagaimana cara menghapus objek dari array berdasarkan nilai tertentu di JavaScript.

Metode yang Dapat Digunakan

Ada beberapa metode yang bisa digunakan untuk menghapus objek dari array berdasarkan nilai:

  • filter()
  • splice()
  • reduce()

1. Metode filter()

Metode filter() digunakan untuk membuat array baru yang berisi semua elemen yang memenuhi kondisi tertentu. Untuk menghapus objek berdasarkan nilai, kita bisa membuat kondisi dalam filter() yang mengembalikan false untuk objek yang ingin dihapus.

Contoh:

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

// Hapus objek dengan id 2
const filteredArray = myArray.filter(item => item.id !== 2);

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

2. Metode splice()

Metode splice() digunakan untuk menghapus elemen dari array berdasarkan indeks. Untuk menghapus objek berdasarkan nilai, kita perlu menemukan indeks objek tersebut terlebih dahulu, lalu menggunakan splice() untuk menghapusnya.

Contoh:

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

// Temukan indeks objek dengan id 2
const index = myArray.findIndex(item => item.id === 2);

// Hapus objek dengan id 2
myArray.splice(index, 1);

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

3. Metode reduce()

Metode reduce() digunakan untuk memanipulasi array dan mengembalikan nilai tunggal. Untuk menghapus objek berdasarkan nilai, kita bisa menggunakan reduce() untuk membuat array baru yang tidak berisi objek yang ingin dihapus.

Contoh:

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

// Hapus objek dengan id 2
const filteredArray = myArray.reduce((acc, item) => {
  if (item.id !== 2) {
    acc.push(item);
  }
  return acc;
}, []);

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

Kesimpulan

Ketiga metode di atas dapat digunakan untuk menghapus objek dari array berdasarkan nilai. Pilih metode yang paling sesuai dengan kebutuhan Anda.

Catatan:

  • Metode filter() akan mengembalikan array baru, sedangkan metode splice() akan memodifikasi array asli.
  • Jika Anda ingin menghapus semua objek yang memiliki nilai tertentu, gunakan metode filter() atau reduce().
  • Jika Anda hanya ingin menghapus satu objek, gunakan metode splice().