Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah perbezaan antara cari dan penapis dalam es6

Apakah perbezaan antara cari dan penapis dalam es6

WBOY
WBOYasal
2022-05-05 17:07:023613semak imbas

Perbezaan antara cari dan penapis dalam es6: 1. Apabila mencari kandungan yang layak dalam tatasusunan tanpa mengubah tatasusunan, hasil yang dikembalikan oleh kaedah cari ialah objek, dan hasil yang dikembalikan oleh kaedah penapis ialah tatasusunan; 2. Jika tiada nilai yang memenuhi fungsi ujian, kaedah cari mengembalikan tidak ditentukan, dan kaedah penapis mengembalikan tatasusunan kosong.

Apakah perbezaan antara cari dan penapis dalam es6

Persekitaran pengendalian tutorial ini: sistem Windows 10, ECMAScript versi 6.0, komputer Dell G3.

Apakah perbezaan antara cari dan penapis dalam es6

1 Kedua-dua find dan penapis adalah kaedah yang tidak mengubah tatasusunan asal. Kedua-duanya mencari kandungan yang memenuhi syarat dalam tatasusunan tanpa menukar tatasusunan, perbezaannya ialah find mengembalikan objek, dan penapis mengembalikan tatasusunan.

Contohnya adalah seperti berikut:

const list = [{'name':'1',index:1},{'name':'2'},{'name':'1'}]
let list2 = list.find(i=>i.name==='1') 
let list3 = list.filter(i=>i.name==='1')
console.log(list); [ { name: '1', index: 1 }, { name: '2' }, { name: '1' } ]
console.log(list2); { name: '1', index: 1 }
console.log(list3);[ { name: '1', index: 1 }, { name: '1' } ]

cari hanya mencari hasil pertama yang memenuhi syarat Dalam contoh, ia secara langsung mengembalikan objek dan bukannya tatasusunan! , dan penapis mengembalikan semua hasil sebagai tatasusunan.

Nota: selepas find() menjumpai elemen pertama, ia tidak akan merentasi elemen berikut, jadi jika terdapat dua elemen yang sama dalam tatasusunan, ia hanya akan mencari elemen pertama, dan yang kedua akan Ia tidak akan dilalui lagi.

2. Ringkasnya, kecekapan pertanyaan cari adalah lebih tinggi, jadi jika data dalam tatasusunan adalah unik, sebaiknya gunakan find

find()

Kaedah ES6 find() mengembalikan nilai elemen pertama yang melepasi fungsi ujian. Jika tiada nilai yang memenuhi fungsi ujian, undefined dikembalikan.

Sintaks

Fungsi anak panah yang digunakan dalam sintaks berikut.

find((element) => { /* ... */ } )
find((element, index) => { /* ... */ } )
find((element, index, array) => { /* ... */ } )

filter() Kaedah

filter() mencipta tatasusunan baharu yang mengandungi semua elemen yang melepasi fungsi ujian. Jika tiada unsur memenuhi fungsi ujian, tatasusunan kosong dikembalikan.

Sintaks

filter((element) => { /* ... */ } )
filter((element, index) => { /* ... */ } )
filter((element, index, array) => { /* ... */ } )

Mata biasa

Fungsi tertib lebih tinggi: Kedua-dua fungsi ialah fungsi tertib lebih tinggi.

Perbezaan

1. Kembalikan elemen pertama melalui fungsi ujian

cari().

filter() mengembalikan tatasusunan baharu yang mengandungi semua elemen yang melepasi fungsi ujian.

2. Jika tiada nilai yang memenuhi fungsi ujian

find() mengembalikan tidak ditentukan;

filter() mengembalikan tatasusunan kosong; :

tutorial video javascript

, bahagian hadapan web

Atas ialah kandungan terperinci Apakah perbezaan antara cari dan penapis dalam es6. 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
Artikel sebelumnya:apakah pembina dalam es6Artikel seterusnya:apakah pembina dalam es6