Heim > Web-Frontend > Front-End-Fragen und Antworten > Was ist der Unterschied zwischen Suchen und Filtern in es6?

Was ist der Unterschied zwischen Suchen und Filtern in es6?

WBOY
Freigeben: 2022-05-05 17:07:02
Original
3597 Leute haben es durchsucht

Der Unterschied zwischen Suchen und Filtern in es6: 1. Bei der Suche nach Inhalten, die die Bedingungen im Array erfüllen, ohne das Array zu ändern, ist das von der Suchmethode zurückgegebene Ergebnis ein Objekt und das von der Filtermethode zurückgegebene Ergebnis ein Array; 2. Wenn kein Wert die Testfunktion erfüllt, gibt die Suchmethode undefiniert zurück und die Filtermethode gibt ein leeres Array zurück.

Was ist der Unterschied zwischen Suchen und Filtern in es6?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.

Was ist der Unterschied zwischen find und filter in es6?

1 Sowohl find als auch filter ändern das ursprüngliche Array. Sie suchen beide nach qualifizierten Inhalten im Array. Der Unterschied besteht darin, dass find zurückgegeben wird ein Objekt. Filter gibt ein Array zurück.

Das Beispiel sieht wie folgt aus:

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' } ]
Nach dem Login kopieren

find findet nur das erste Ergebnis, das die Bedingungen erfüllt. Im Beispiel wird direkt ein Objekt anstelle eines Arrays zurückgegeben! , und der Filter gibt alle Ergebnisse weiterhin als Arrays zurück.

Hinweis: Nachdem find() das erste Element gefunden hat, werden die folgenden Elemente nicht durchlaufen. Wenn also zwei identische Elemente im Array vorhanden sind, wird nur das erste gefunden und das zweite nicht erneut durchlaufen. .

2. Zusammenfassend lässt sich sagen, dass die Effizienz der Suchabfrage höher ist. Wenn die Daten im Array also eindeutig sind, ist es am besten, die Methode find

find() zu verwenden Testfunktion Der Wert des Elements. Wenn kein Wert die Testfunktion erfüllt, wird undefiniert zurückgegeben.

Syntax

Pfeilfunktionen, die in der folgenden Syntax verwendet werden. Die Methode

find((element) => { /* ... */ } )
find((element, index) => { /* ... */ } )
find((element, index, array) => { /* ... */ } )
Nach dem Login kopieren

filter()

filter() erstellt ein neues Array mit allen Elementen, die die Testfunktion bestehen. Wenn kein Element die Testfunktion erfüllt, wird ein leeres Array zurückgegeben.

Grammatik

filter((element) => { /* ... */ } )
filter((element, index) => { /* ... */ } )
filter((element, index, array) => { /* ... */ } )
Nach dem Login kopieren
Gemeinsamkeiten

Funktionen höherer Ordnung: Beide Funktionen sind Funktionen höherer Ordnung.

Unterschiede

1. Geben Sie das erste Element über eine Testfunktion zurück

find().

filter() gibt ein neues Array zurück, das alle Elemente enthält, die die Testfunktion bestanden haben.

2. Wenn kein Wert die Testfunktion erfüllt, gibt

filter() ein leeres Array zurück.

[Verwandte Empfehlungen:

Javascript-Video-Tutorial

]

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Suchen und Filtern in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
es6
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage