一、用法
1、filter():創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。
-
- 注意: filter() 不會對空數組進行檢測。
- 注意: filter() 不會改變原始數組。
-
var ages = [32, 33, 16, 40]; function checkAdult(age) { return age >= 18; } function myFunction() { document.getElementById("demo").innerHTML = ages.filter(checkAdult); }
2、has():將匹配元素集合縮減為包含特定元素的后代的集合;在數組中尋找是否包含有匹配的值,並返回;
-
-
var a = new Set([1, 2, 3]); var b = new Set([4, 3, 2]); var intersect = new Set([...a].filter(x => b.has(x))); // {2, 3}
-
3、find():在當前選中元素的上下文中尋找符合條件的后代,返回的是子元素;查找數組中符合條件的元素,若有多個符合條件的元素,則返回第一個元素。
二、區別
- filter()方法與has()方法中的參數,都是過濾條件。不同的是filter()方法,條件作用於自身;has()方法條件是作用於它的后代元素中。