Ce que cet article vous apporte, c'est la méthode filter() en JavaScript, qui est également largement utilisée en JavaScript. Elle a une certaine valeur de référence. J'espère que les amis dans le besoin pourront s'y référer. aide Vous avez aidé. La méthode
filter() crée un nouveau tableau contenant tous les éléments du test implémenté par la fonction fournie.
var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // expected output: Array ["exuberant", "destruction", "present"]
Syntaxe
var array = arr.filter(function(item,index,array){}) // 一般都传一个参数
Valeur de retour
Un nouveau tableau de la collection d'éléments qui ont passé le test , si le test n'est pas réussi, un tableau vide est renvoyé
Description
filter appelle la fonction de rappel une fois pour chaque élément du tableau et utilise tout pour rendre le rappel vrai ou etc. Crée un nouveau tableau avec des éléments dont les valeurs sont supérieures à vrai. La fonction de rappel ne sera appelée que sur les index auxquels des valeurs ont été attribuées et ne sera pas appelée sur les index qui ont été supprimés ou n'ont jamais reçu de valeurs. Les éléments qui échouent au test de la fonction de rappel seront ignorés et ne seront pas inclus dans le nouveau tableau.
La plage d'éléments traversée par le filtre a été déterminée avant que la fonction de rappel ne soit appelée pour la première fois. Les éléments ajoutés au tableau après l'appel du filtre ne seront pas traversés par le filtre. Si des éléments existants ont été modifiés, les valeurs qu'ils transmettent à la fonction de rappel sont les valeurs au moment où le filtre les traverse. Les éléments qui ont été supprimés ou n'ont jamais reçu de valeur ne seront pas traversés. (Si vous ne comprenez pas, veuillez lire la méthode forEach écrite auparavant)
Exemple
Filtrer toutes les petites valeurs
//下例使用 filter 创建了一个新数组,该数组的元素由原数组中值大于 10 的元素组成。 function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered is [12, 130, 44]
Filtrer JSON Les entrées invalides dans
// 以下示例使用filter()创建具有非零id的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
sont recherchées dans le tableau
// 下面的示例使用filter()根据搜索条件过滤数组内容 var fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']; /** * Array filters items based on search criteria (query) */ function filterItems(query) { return fruits.filter(function(el) { return el.toLowerCase().indexOf(query.toLowerCase()) > -1; }) } console.log(filterItems('ap')); // ['apple', 'grapes'] console.log(filterItems('an')); // ['banana', 'mango', 'orange'] //如果输入的字母是不相连的,那么久得不到你想要的结果 console.log(filterItems('al'));// [] // 输出结果为空
La méthode de filtrage est généralement utilisée pour filtrer et filtrer.
Si la méthode de filtrage n'est pas prise en charge dans certains environnements, veuillez visiter le site Web mdn pour résoudre le problème de la méthode MDN Array.prototype.filter().
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!