Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menapis Tatasusunan dengan Cekap dengan Mengecualikan Elemen daripada Tatasusunan Lain?

Bagaimana untuk Menapis Tatasusunan dengan Cekap dengan Mengecualikan Elemen daripada Tatasusunan Lain?

Patricia Arquette
Patricia Arquetteasal
2024-11-17 07:48:03867semak imbas

How to Efficiently Filter an Array by Excluding Elements from Another Array?

Menapis Tatasusunan Dengan Cekap

Menapis tatasusunan daripada semua elemen tatasusunan lain ialah operasi biasa. Fungsi filter() menyediakan cara mudah untuk mengalih keluar elemen tertentu, tetapi bagaimanakah kita menentukan elemen untuk dikecualikan?

Coretan kod berikut memanfaatkan pendekatan ringkas dan intuitif untuk menapis tatasusunan menggunakan fungsi penapis() :

var array = [1,2,3,4];
var anotherOne = [2,4];
var filteredArray = array.filter(item => !anotherOne.includes(item));
// filteredArray now equals [1,3]

Pendekatan ini menggunakan kaedah includes() untuk menyemak sama ada unsur hadir dalam tatasusunan untuk dikecualikan. Fungsi penapis() kemudian mengalih keluar semua elemen padanan daripada tatasusunan asal.

Sebagai alternatif, jika fungsi penapis() tidak sesuai untuk keperluan anda, anda boleh melaksanakan penapisan secara manual:

function manualFilter(arr1, arr2) {
  var filteredArray = [];
  for (var i = 0; i < arr1.length; i++) {
    if (!arr2.includes(arr1[i])) {
      filteredArray.push(arr1[i]);
    }
  }
  return filteredArray;
}

Kaedah manual ini membolehkan lebih banyak penyesuaian dan kawalan ke atas proses penapisan jika perlu.

Atas ialah kandungan terperinci Bagaimana untuk Menapis Tatasusunan dengan Cekap dengan Mengecualikan Elemen daripada Tatasusunan Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn