Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menapis Array daripada Elemen Array Lain dalam JavaScript?

Bagaimana untuk Menapis Array daripada Elemen Array Lain dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-17 11:11:02876semak imbas

How to Filter an Array from Elements of Another Array in JavaScript?

Menapis Tatasusunan Menggunakan Fungsi Penapis

Menapis tatasusunan daripada semua elemen tatasusunan lain ialah tugas pengaturcaraan biasa. Dalam JavaScript, seseorang biasanya akan menggunakan fungsi .filter() untuk mencapai ini. Walau bagaimanapun, memahami cara menyediakan fungsi dengan nilai untuk dialih keluar boleh menjadi mencabar.

Pertimbangkan senario berikut:

var array = [1,2,3,4];
var anotherOne = [2,4];
var filteredArray = array.filter(myCallback);
// filteredArray should now be [1,3]


function myCallBack(){
    return element ! filteredArray; 
    //which clearly can't work since we don't have the reference <,< 
}

Dalam contoh di atas, fungsi myCallBack cuba mengembalikan elemen yang tidak terdapat dalam tatasusunan ditapis, tetapi logik ini tidak akan berfungsi kerana tatasusunan ditapis belum ditakrifkan apabila fungsi itu dipanggil.

Menggunakan Fungsi Penapis

Untuk menapis tatasusunan menggunakan filter() fungsi, seseorang harus lulus fungsi panggil balik yang mengembalikan benar untuk elemen yang harus disertakan dalam tatasusunan yang ditapis dan mengembalikan palsu untuk elemen yang harus dialih keluar. Tatasusunan yang ditapis kemudian dibuat dengan menggunakan fungsi panggil balik pada setiap elemen tatasusunan asal.

Dalam hal menapis tatasusunan daripada semua elemen tatasusunan lain, fungsi panggil balik boleh dipermudahkan, seperti yang ditunjukkan dalam kod berikut:

var arr1 = [1,2,3,4],
    arr2 = [2,4],
    res = arr1.filter(item => !arr2.includes(item));
console.log(res); // Output: [1,3]

Di sini, fungsi penapis() berulang melalui arr1 dan memanggil fungsi panggil balik untuk setiap elemen. Fungsi panggil balik, item => !arr2.includes(item), mengembalikan benar untuk elemen yang tidak terdapat dalam arr2 dan false sebaliknya. Akibatnya, susunan tatasusunan yang ditapis hanya mengandungi unsur [1,3] yang tiada dalam arr2.

Atas ialah kandungan terperinci Bagaimana untuk Menapis Array daripada Elemen Array Lain dalam JavaScript?. 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