一、用法
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()方法条件是作用于它的后代元素中。