JS中filter、find、has的用法及区别

一、用法

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

 

JS中filter、find、has的用法及区别

上一篇:使用cordova serve build以及tomcat进行web 调试。


下一篇:网站数据统计分析中的日志收集原理及其实现