Vous ne comprenez toujours pas le filtre ? "JavaScript" "Notes MDN"

teneur

1. filtre "filtrage" "qu'est-ce que c'est?"

Exemple : rechercher des chaînes d'une longueur supérieure à 6

grammaire:

rappeler

Points d'attention

Démos


1. filtre "filtrage" "qu'est-ce que c'est?"

La méthode filter() crée un nouveau tableau contenant tous les éléments qui correspondent à la fonction donnée.

Exemple : rechercher des chaînes d'une longueur supérieure à 6

const words = ['wangjiaran','yezhenkun','yewen','ryker','tom','baby'];
const result = words.filter(word => word.lenth > 6);
console.log(result);
// expected output: Array ["yezhenkun", "wangjiaran"]

grammaire:

var newArray = arr.filter(callback(element[,index[,array])[,thisarg])

rappeler

1. Une fonction pour tester chaque élément d'un tableau. Renvoie true si l'élément réussit le test et conserve l'élément, false sinon. Il accepte les trois paramètres suivants : 
 2. element "l'élément en cours de traitement dans le tableau." index "l'index de l'élément en cours de traitement dans le tableau." array "le tableau lui-même qui a appelé le filtre." 
 3. thisArg "lorsque le rappel est exécuté, pour la valeur de this."

Points d'attention

1. Si un paramètre thisArg est fourni pour le filtre, il sera utilisé comme valeur this lorsque le rappel est appelé. 
Sinon, la valeur this du rappel sera l'objet global en mode non strict et 
undefined en mode strict. 
2 La plage d'éléments parcourus par filter Ceci est déterminé avant le premier appel à callback. 
Les éléments ajoutés au tableau après l'appel de filter ne seront pas traversés par filter. 
Si des éléments existants ont été modifiés, la valeur qu'ils transmettent au rappel est la valeur au moment où le filtre les traverse. Les éléments qui sont supprimés ou qui n'ont jamais reçu de valeur ne sont pas parcourus.

Démos

1. Filtrer pour exclure toutes les valeurs inférieures

function isBigEnough(x) {
    return x > 10;
}
var arr = [1,2,3,4,5,123,322,9,54,67].filter(isBigEnough);
// console.log(arr);
// filter is[123,322,54,67];

2. Filtrer les entrées invalides dans JSON

// 过滤JSON中的无效条目
var arr = [
    { id: 15 },
    { id: -1 },
    { id: 0 },
    { id: 3 },
    { id: 12.2 },
    { },
    { id: null },
    { id: NaN },
    { id: 'undefined' }
  ];
// 记录有效长度
  var invalidEntries = 0;
// 
  function isNumber(obj) {
    return obj != undefined && typeof(obj) === 'number' && !isNaN(obj);
  }

  function filterByID(item) {
      if(isNumber(item.id) && item.id !== 0) {
          return true;
      }
      invalidEntries++;
      return false;
  }
  var arrByID = arr.filter(filterByID);

  console.log('Filtered Array\n', arrByID);
// Filtered Array[{ id: 15 }, { id: -1 }, { id: 3 }, { id: 12.2 }]

  console.log('Number of Invalid Entries = ',invalidEntries);
  // Number of Invalid Entries = 5

Je suppose que tu aimes

Origine blog.csdn.net/weixin_60789461/article/details/123283397
conseillé
Classement