0
votes

Sélection des éléments dans le tableau - JavaScript - Utiliser la méthode de filtre

Quelqu'un a posé une question aujourd'hui sur la question de choisir certains éléments dans un tableau de I à la fin de la matrice et il m'a fait me demander comment faire cela avec la méthode code> code>.

Une des solutions que quelqu'un a donné était d'utiliser SLICE CODE> et je comprends que vous pouvez sélectionner de l'index à l'index, mais comment implémenteriez-vous le filtre code> Méthode pour faire la même chose? p>

Exemple fort> p>

P>

let arr = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'];

let newArr = arr.filter(element => element >= element.indexOf(3));
    
console.log(newArr);


1 commentaires

J'apprécie cela


4 Réponses :


5
votes

Le temps d'exécution passe l'index dans le rappel du filtre: xxx

performance-sage Vous faites toujours une nouvelle matrice et copier des valeurs, il est donc à peu près le même que .slice () .


2 commentaires

ou index> 2 .


ahh gotcha, c'était assez simple, j'apprécie que



1
votes

Vous devez créer une fonction avec les critères de filtrage:

let arr = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'];

function filterCriteria(item) {
  return item >= someValue;
}

function someFunction() {
  return arr.filter(filterCriteria);
}


0 commentaires

2
votes

Pendant que vous visitez chaque article, vous pouvez utiliser un compteur et décrémenter jusqu'à ce que le compteur atteigne zéro. Ensuite, prenez ces valeurs.

p>

const
    fromIndex = i => _ => !i || !i--,
    array = ['bug', 'cat', 'dog', 'flea', 'bat', 'hat', 'rat'],
    result = array.filter(fromIndex(3));

console.log(result);


4 commentaires

Ah encore une fois Nina, vos solutions sont trop élégantes pour mon cerveau. Ce qui se passe dans votre deindex = i => _ =>! I || ! I - ? Qu'est-ce que ce souligné? Lodash? ou autre chose?


Lodash n'est qu'une variable non utilisée. Le soulignement indiquait que (comme convention). Peut-être que la liste de paramètres vide plus classique est mieux compréhensible, comme: tidedex = i => () =>! i || ! I -


Ah, mais pourquoi avons-nous besoin d'un _ ou () ?


En raison de la fermeture et du filtre nécessite une fonction.



1
votes

Le deuxième argument dans le rappel du filtre est index. Afin que vous puissiez faire quelque chose comme ça

arr.filter ((élément, index) => index> = 3);


0 commentaires