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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM