Javascript Remove Json Object From Array By Key

Javascript Remove Json Object From Array By Key

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

Cara Menghapus Objek JSON dari Array Berdasarkan Kunci di JavaScript

Dalam pemrograman JavaScript, sering kali kita perlu memanipulasi data JSON, termasuk menghapus objek tertentu dari array berdasarkan kunci yang spesifik. Artikel ini akan membahas beberapa cara efektif untuk mencapai tujuan tersebut.

1. Menggunakan filter()

Metode filter() memungkinkan kita untuk membuat array baru yang berisi hanya objek yang memenuhi kondisi tertentu. Dalam kasus ini, kita dapat menggunakannya untuk menghapus objek berdasarkan kunci yang diberikan.

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

const key = "id";
const value = 2;

const filteredData = data.filter(item => item[key] !== value);

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

Kode di atas akan menghapus objek dengan id 2 dari array.

2. Menggunakan findIndex() dan splice()

Metode findIndex() mencari indeks pertama objek dalam array yang memenuhi kondisi tertentu. Setelah menemukan indeksnya, kita dapat menggunakan splice() untuk menghapus objek dari array asli.

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

const key = "id";
const value = 2;

const index = data.findIndex(item => item[key] === value);

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

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

Kode di atas akan menghapus objek dengan id 2 dari array asli.

3. Menggunakan reduce()

Metode reduce() memungkinkan kita untuk memproses array dan mengembalikan nilai tunggal. Kita dapat menggunakannya untuk membangun array baru yang tidak mengandung objek yang memiliki kunci yang diinginkan.

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

const key = "id";
const value = 2;

const filteredData = data.reduce((acc, item) => {
  if (item[key] !== value) {
    acc.push(item);
  }
  return acc;
}, []);

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

Kode di atas akan membuat array baru tanpa objek yang memiliki id 2.

Kesimpulan

Ada berbagai cara untuk menghapus objek JSON dari array berdasarkan kunci di JavaScript. Anda dapat memilih metode yang paling sesuai dengan kebutuhan dan gaya coding Anda. Penting untuk memilih metode yang efisien dan mudah dipahami untuk menjaga kode Anda tetap terstruktur dan mudah dipelihara.