Quelle est la différence entre rechercher et filtrer dans Es6

WBOY
Libérer: 2022-05-05 17:07:02
original
3572 Les gens l'ont consulté

La différence entre find et filter dans es6 : 1. Lors de la recherche de contenu qui répond aux conditions dans le tableau sans modifier le tableau, le résultat renvoyé par la méthode find est un objet et le résultat renvoyé par la méthode filter est un array; 2. Si aucune valeur ne satisfait la fonction Test, la méthode find renvoie undefined et la méthode filter renvoie un tableau vide.

Quelle est la différence entre rechercher et filtrer dans Es6

L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.

Quelle est la différence entre find et filter dans es6

1. Find et filter sont deux méthodes qui ne modifient pas le tableau d'origine. Elles recherchent toutes deux du contenu qualifié dans le tableau sans modifier le tableau. un objet, le filtre renvoie un tableau.

L'exemple est le suivant :

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' } ]
Copier après la connexion

find ne trouve que le premier résultat qui remplit les conditions. Dans l'exemple, il renvoie directement un objet au lieu d'un tableau ! , et filter renvoie tous les résultats toujours sous forme de tableaux.

Remarque : une fois que find() a trouvé le premier élément, il ne traversera pas les éléments suivants, donc s'il y a deux éléments identiques dans le tableau, il ne trouvera que le premier et le second ne sera plus parcouru. .

2. En résumé, l'efficacité des requêtes de recherche est plus élevée, donc si les données du tableau sont uniques, il est préférable d'utiliser find

find()

La méthode ES6 find() renvoie la première qui passe le fonction de test La valeur de l'élément. Si aucune valeur ne satisfait à la fonction de test, undefined est renvoyé.

Syntaxe

Fonctions fléchées utilisées dans la syntaxe suivante. La méthode

find((element) => { /* ... */ } )
find((element, index) => { /* ... */ } )
find((element, index, array) => { /* ... */ } )
Copier après la connexion

filter()

filter() crée un nouveau tableau contenant tous les éléments qui réussissent la fonction de test. Si aucun élément ne satisfait à la fonction de test, un tableau vide est renvoyé.

Grammar

filter((element) => { /* ... */ } )
filter((element, index) => { /* ... */ } )
filter((element, index, array) => { /* ... */ } )
Copier après la connexion

Points communs

Fonctions d'ordre supérieur : Les deux fonctions sont des fonctions d'ordre supérieur.

Différences

1. Renvoyez le premier élément via une fonction de test

find().

filter() renvoie un nouveau tableau contenant tous les éléments qui ont réussi la fonction de test.

2. Si aucune valeur ne satisfait à la fonction de test

find() renvoie undefined ;

filter() renvoie un tableau vide

[Recommandations associées : tutoriel vidéo javascript, front-end web]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
es6
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!