Javascript Remove Item From Object Array By Value

Javascript Remove Item From Object Array By Value

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

Cara Menghapus Item dari Array Objek Berdasarkan Nilai di JavaScript

Dalam JavaScript, seringkali kita perlu memanipulasi array objek, seperti menghapus item berdasarkan nilai tertentu. Berikut adalah beberapa cara untuk menghapus item dari array objek berdasarkan nilai:

1. Menggunakan filter()

Metode filter() memungkinkan kita untuk membuat array baru yang hanya berisi item yang memenuhi kondisi tertentu. Untuk menghapus item berdasarkan nilai, kita dapat menggunakan filter() untuk mengembalikan array baru yang tidak mengandung item yang ingin dihapus.

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

const filteredData = data.filter(item => item.id !== 2); 

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

Kode di atas menggunakan filter() untuk membuat array baru filteredData yang tidak berisi item dengan id 2.

2. Menggunakan findIndex() dan splice()

Metode findIndex() memungkinkan kita untuk menemukan index dari item pertama yang memenuhi kondisi tertentu. Setelah menemukan index, kita dapat menggunakan splice() untuk menghapus item tersebut dari array asli.

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

const indexToDelete = data.findIndex(item => item.name === "Jane");

if (indexToDelete !== -1) {
  data.splice(indexToDelete, 1); 
}

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

Kode ini mencari index dari item dengan name "Jane" menggunakan findIndex(). Jika index ditemukan, item tersebut dihapus dari array menggunakan splice().

3. Menggunakan forEach() dan splice()

Metode forEach() memungkinkan kita untuk mengulangi setiap item dalam array. Di dalam loop, kita dapat memeriksa nilai setiap item dan menghapusnya menggunakan splice() jika memenuhi kondisi.

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

data.forEach((item, index) => {
  if (item.id === 2) {
    data.splice(index, 1); 
  }
});

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

Kode ini mengulangi setiap item di data dan menghapus item yang id nya sama dengan 2 menggunakan splice().

Kesimpulan

Terdapat beberapa cara untuk menghapus item dari array objek berdasarkan nilai di JavaScript. Pilihan metode terbaik tergantung pada kebutuhan dan preferensi Anda. filter() cocok untuk membuat array baru yang difilter, findIndex() dan splice() cocok untuk menghapus item dari array asli, dan forEach() dan splice() cocok untuk menghapus item berdasarkan kondisi kompleks.