Javascript Remove String From Array By Value

Javascript Remove String From Array By Value

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

Cara Menghapus String dari Array Berdasarkan Nilai dalam JavaScript

Artikel ini akan membahas cara menghapus string dari array berdasarkan nilainya dalam JavaScript. Ada beberapa metode yang dapat digunakan, berikut penjelasannya:

1. Menggunakan filter()

Metode filter() dapat digunakan untuk membuat array baru yang berisi elemen yang memenuhi syarat tertentu. Dalam kasus ini, kita dapat menggunakannya untuk membuat array baru yang tidak mengandung string yang ingin dihapus.

const myArray = ["apple", "banana", "orange", "apple"];

// Menghapus string "apple" dari array
const newArray = myArray.filter(item => item !== "apple");

console.log(newArray); // ["banana", "orange"]

Penjelasan:

  • myArray.filter(item => item !== "apple") menghasilkan array baru yang berisi semua elemen dari myArray kecuali string "apple".
  • item !== "apple" adalah kondisi yang digunakan untuk memeriksa apakah setiap elemen dalam array sama dengan string "apple".

2. Menggunakan splice()

Metode splice() dapat digunakan untuk menghapus elemen dari array berdasarkan indeksnya. Untuk menggunakan splice(), kita perlu mengetahui indeks string yang ingin dihapus.

const myArray = ["apple", "banana", "orange", "apple"];

// Menghapus string "apple" pertama di array
const index = myArray.indexOf("apple");
if (index > -1) {
  myArray.splice(index, 1);
}

console.log(myArray); // ["banana", "orange", "apple"] 

Penjelasan:

  • myArray.indexOf("apple") mencari indeks pertama string "apple" di dalam array.
  • Jika index lebih besar dari -1, artinya string "apple" ditemukan dan myArray.splice(index, 1) menghapus elemen di indeks index (string "apple" pertama).
  • 1 menunjukkan berapa banyak elemen yang akan dihapus (dalam kasus ini, hanya satu elemen).

3. Menggunakan forEach()

Metode forEach() dapat digunakan untuk mengulang setiap elemen dalam array. Kita dapat menggunakannya untuk mencari string yang ingin dihapus dan menghapusnya dengan splice().

const myArray = ["apple", "banana", "orange", "apple"];

// Menghapus semua string "apple" dari array
myArray.forEach((item, index) => {
  if (item === "apple") {
    myArray.splice(index, 1);
  }
});

console.log(myArray); // ["banana", "orange"]

Penjelasan:

  • myArray.forEach((item, index) => { ... }) mengulang setiap elemen dalam array.
  • if (item === "apple") memeriksa apakah elemen saat ini sama dengan string "apple".
  • Jika benar, myArray.splice(index, 1) menghapus elemen tersebut dari array.

Perbedaan Metode

  • filter(): Membentuk array baru tanpa mengubah array asli.
  • splice(): Mengubah array asli dengan menghapus elemen berdasarkan indeks.
  • forEach(): Mengulang setiap elemen dalam array dan memungkinkan manipulasi array selama proses iterasi.

Pilih metode yang paling sesuai dengan kebutuhan Anda. Jika Anda ingin mempertahankan array asli, gunakan filter(). Jika Anda ingin menghapus elemen tertentu dari array asli, gunakan splice() atau forEach().