Apakah ada fungsi hapus di javascript?

Dan ya, ini adalah cara termudah untuk menyelesaikan tugas. Tidak ada Larik. hapus () fungsi dalam JavaScript yang akan diasumsikan

Selanjutnya, mari kita lihat bagaimana Anda dapat membuat tugas ini lebih mudah dan tidak terlalu berulang. Kemudian mari kita lihat juga contoh yang lebih maju di bagian akhir

Cara Membuatnya Lebih Mudah

Salah satu cara Anda dapat menghapus elemen dari array dengan lebih mudah adalah dengan menyimpan pendekatan di atas ke fungsi terpisah

function removeFirst(arr, target) {
  var idx = arr.indexOf(target);
  if (idx > -1) {
    arr.splice(idx, 1);
  }
  return arr;
}

function removeAll(arr, target) {
  var i = 0;
  while (i < arr.length) {
    if (arr[i] === target) {
      arr.splice(i, 1);
    } else {
      ++i;
    }
  }
  return arr;
}

Sekarang Anda dapat menggunakan fungsi-fungsi ini dalam proyek Anda sehingga Anda tidak perlu mengulang berulang kali

const numbers = [5, 10, 15];
console.log(removeFirst(numbers, 10)); // output: [5, 15]

const numbers = [1, 1, 2, 2];
console.log(removeAll(numbers, 1))     // output: [2, 2]
_

Sekarang setelah Anda memahami cara menghapus elemen dari array di JavaScript, mari kita lihat pendekatan alternatif

Fungsi filter()

Salah satu cara untuk menghapus elemen tertentu dari array di JavaScript adalah dengan menggunakan fungsi filter()

filter() mengembalikan array baru dengan elemen yang difilter saja

Fungsi filter() bekerja sedemikian rupa sehingga melewati array elemen memeriksa apakah setiap elemen memenuhi suatu kondisi. Kondisi ini diimplementasikan sebagai fungsi yang dipanggil oleh fungsi filter() untuk setiap elemen satu per satu. Jika suatu kondisi terpenuhi, elemen ditambahkan ke larik hasil

Ini sebuah ilustrasi

Mari terapkan filter() yang diilustrasikan di atas

var numbers = [1, 2, 3, 3, 3, 4, 5];
const target = 3;

const filteredNumbers = numbers.filter(number => number !== target);
console.log(filteredNumbers);

Keluaran

[1, 2, 4, 5]

Tentu saja, Anda tidak harus berurusan dengan angka saja

Fungsi filter() dapat diterapkan untuk dengan mudah menghapus objek dari array berdasarkan kriteria

Cara Menghapus Objek Tertentu dari Array di JavaScript

Untuk menghapus objek tertentu dari array di JavaScript, gunakan fungsi filter()

Misalnya, katakanlah kita memiliki objek orang dan kita ingin menghapus semua orang yang berusia di bawah 18 tahun

var people = [
  {"name":"Alice", "age": 20},
  {"name":"Bob", "age": 17},
  {"name":"Charlie", "age": 32},
  {"name":"David", "age": 16},
]

var adults = people.filter(person => person.age >= 18);
console.log(adults);
_

Keluaran

{"name":"Alice", "age": 20}
{"name":"Charlie", "age": 32}

Potongan kode ini berfungsi sedemikian rupa sehingga fungsi filter()

  1. Loop melalui daftar objek
  2. Menerapkan fungsi ke setiap objek orang untuk memeriksa usia objek
  3. Menempatkan setiap objek orang ke dalam larik hasil jika usianya 18+
  4. Mengembalikan array baru

Hapus Elemen dari Akhir Array

Untuk menghapus elemen dari akhir array di JavaScript, Anda dapat mengatur panjang array menjadi kurang dari panjang saat ini. Ini berarti Anda membuat larik lebih pendek dari aslinya dengan menyetel mengubah panjangnya

Sebagai contoh

[1, 2]
_0

Untuk menghapus elemen terakhir dari sebuah array, Anda juga dapat menggunakan Array. metode pop()

Metode ini

  • Menghapus elemen terakhir dari array asli. Itu memodifikasi array asli secara langsung alih-alih menghasilkan yang baru
  • Mengembalikan elemen terakhir yang dihapus

Contohnya

[1, 2]
_1

Hapus Elemen dari Awal Array

Untuk menghapus elemen pertama dari sebuah array di JavaScript, gunakan Array. pergeseran() metode

Metode ini

  • Menghapus elemen pertama dari array asli. Jadi itu memodifikasi array asli secara langsung
  • Mengembalikan elemen pertama yang dihapus

Jika tidak ada elemen dalam array, Array. shift() mengembalikan metode yang tidak terdefinisi

Misalnya, mari kita hapus angka pertama dalam deretan angka

[1, 2]
_2

Hapus Berbagai Elemen Menggunakan Array. sambatan()

Sebelumnya dalam panduan ini, Anda telah mempelajari cara menggunakan Array. splice() untuk menghapus satu elemen

Namun, terkadang Anda tidak hanya ingin menghapus satu item saja. Sebagai gantinya, Anda ingin menghapus serangkaian item berurutan dalam posisi arbitrer dalam larik

Untuk menghapus berbagai elemen dari array JavaScript, gunakan Array. sambatan() metode

Array. metode splice() membutuhkan dua argumen

  • Mulailah. Indeks untuk mulai menghapus item
  • n. Jumlah elemen yang akan dihapus
  • elemen. Ini adalah argumen opsional. Ini menentukan elemen yang akan ditambahkan ke array

Metode ini mengembalikan elemen yang dihapus sebagai array

Misalnya, mari kita hapus 3 huruf di tengah

[1, 2]
_3

Hapus Elemen dari Array Menggunakan Operator 'delete'

Anda juga dapat menggunakan operator hapus bawaan untuk menghapus elemen array

Ini mengasumsikan Anda mengetahui indeks elemen spesifik yang ingin Anda hapus dari array

Namun, perhatikan bahwa ini tidak mengubah ukuran larik asli

Alih-alih menghapus elemen sepenuhnya, operator hapus menandai elemen sebagai tidak terdefinisi

Operator hapus berfungsi sedemikian rupa sehingga menghapus properti dari objek. Jika tidak ada lagi referensi ke properti, secara otomatis dilepaskan dari memori

Operator hapus mengembalikan true jika penghapusan berhasil dan false jika tidak

Tidak seperti yang Anda bayangkan, operator hapus tidak langsung mengosongkan memori. Alih-alih, manajemen memori terjadi saat referensi rusak

Misalnya, mari kita hapus huruf pertama dari array karakter

[1, 2]
_4

Seperti yang Anda lihat, ukuran array tetap sama. Sekarang elemen pertama hanyalah elemen kosong yang tidak terdefinisi

Hapus Array JavaScript

Untuk menghapus semua elemen array JavaScript, ada beberapa metode yang bisa Anda lakukan

  1. Atur array sama dengan array kosong. (Ini bisa menjadi masalah, segera Anda pelajari alasannya)
  2. Setel panjang array ke 0
  3. Gunakan Larik. splice() metode untuk menghapus semua elemen dari array asli
  4. Gunakan Larik. pop() metode dengan loop untuk menghapus semua elemen dari array asli

Mari kita cepat melalui opsi ini satu per satu

Mungkin cara termudah adalah menyetel array sama dengan array kosong

Sebagai contoh

[1, 2]
_5

Namun, ini bisa bermasalah

Jika Anda memiliki referensi ke array ini, mereka tidak akan berubah. Sebaliknya, referensi masih memiliki elemen asli dari array

Jika Anda tidak berhati-hati, ini dapat menyebabkan banyak sakit kepala

Mari kita lihat contohnya

[1, 2]
_6

Seperti yang Anda lihat, meskipun huruf2 disetel sama dengan huruf1, larik huruf2 tetap tidak berubah setelah menghapus elemen dari larik huruf1

Array asli menunjuk ke array baru di memori. Array yang direferensikan masih menunjuk ke yang asli

Untuk mengatasi masalah ini, Anda perlu memodifikasi larik asli alih-alih menugaskan larik baru ke salah satu larik

Salah satu cara untuk melakukannya adalah dengan menyetel panjang larik asli ke 0

Misalnya, mari kita atur panjang dari huruf1 menjadi 0. Ini mengecilkan array untuk memuat 0 elemen. Karena array letters2 menunjuk ke array yang sama di memori, itu juga berubah

[1, 2]
_7

Pokoknya, satu-satunya cara untuk membersihkan array dan semua array yang mereferensikan array asli adalah dengan langsung memodifikasi array asli

Seperti yang Anda pelajari sebelumnya, Anda dapat memodifikasi larik asli dengan menghapus elemen dengan Array. splice() metode juga

Jadi Anda bisa menghapus semua elemen array dengan metode splice()

[1, 2]
_8

Tentu saja, Anda juga bisa menggunakan Array. metode pop() hingga panjang array mencapai 0

Contohnya

[1, 2]
_9

Seperti yang Anda pelajari sebelumnya, metode pop() juga memodifikasi larik asli, sehingga kedua larik diperbarui

Kesimpulan

Hari ini Anda mempelajari apa yang diperlukan untuk menghapus elemen tertentu dalam larik di JavaScript

Singkatnya, tidak ada metode seperti array. hapus(), jadi Anda harus mengimplementasikannya sendiri

Untuk menghapus satu elemen tertentu dari array

  1. Temukan indeks elemen
  2. Hapus elemen pada indeks itu

Untuk menghapus semua elemen tertentu dari array

  1. Ulangi array dari awal hingga akhir
  2. Untuk setiap iterasi, periksa apakah elemen saat ini adalah elemen target
  3. Jika ya, hapus target menggunakan fungsi splice()

Sebagai alternatif, Anda dapat menggunakan fungsi filter() untuk menghapus satu/semua elemen tertentu dari larik dalam JavaScript

Bagaimana cara menghapus fungsi dalam JavaScript?

Pilih metode hapus() . Tip. Untuk menambahkan opsi ke daftar drop-down, gunakan metode add().

Bagaimana cara menghapus objek di JavaScript?

Kita dapat menghapus Properti dari Objek JavaScript menggunakan Operator hapus, Penghancuran Objek, dan Refleksi. deleteProperty() metode . Operator hapus dan Reflect. metode deleteProperty() menghapus properti yang ditentukan dari objek aslinya.

Bagaimana cara menghapus string dalam JavaScript?

Menggunakan Metode replace() dengan Ekspresi Reguler . Sintaksis. stringName. ganti(/regularExpression/g, '');

Bagaimana cara menghapus sesuatu dari daftar di JavaScript?

Anda dapat menghapus elemen pada indeks apa pun dengan menggunakan metode penyambungan . Jika Anda memiliki array bernama arr, itu dapat digunakan dengan cara ini untuk menghapus elemen di indeks mana pun. arr. splice(n, 1) , dengan n menjadi indeks elemen yang akan dihapus.