Skip to content
Related Articles

Related Articles

What is the difference between find() and filter() methods in JavaScript ?

Improve Article
Save Article
  • Last Updated : 04 Apr, 2022
Improve Article
Save Article

The find() method is used to find all the descendant elements of the selected element. It finds the element in the DOM tree by traversing through the root to leaf.

The filter() method is used to filters all the elements and returns the element that matches and the element that do not match are removed.

The only difference is the filter() method search through all the elements while find() method search through all the child elements only.

  • Example 1: This example uses the find() method to search the element.




    <!DOCTYPE html>
    <html>
      
    <head>
        <script src=
        </script>
      
        <script>
            $(document).ready(function() {
                $("ul").find(":odd")
                .css("background-color", "yellow");
            });
        </script>
    </head>
      
    <body style="text-align:center;">
          
        <h1 style="color:green;"
            GeeksForGeeks 
        </h1>
          
        <h4>Find() Method</h4>
          
        <ul>
            <li>GeeksforGeeks1.</li>
            <li>GeeksforGeeks2.</li>
            <ol>
                <li>GeeksforGeeks3.</li>
                <li>GeeksforGeeks4.</li>
                <ul>
                    <li>GeeksforGeeks5.</li>
                    <li>GeeksforGeeks6.</li>
                </ul>
            </ol>
        </ul>
    </body>
      
    </html>

  • Output:
  • Example 2: Changes made when we use the filter() method for searching.




    <!DOCTYPE html>
    <html>
      
    <head>
        <script src=
        </script>
      
        <script>
            $(document).ready(function() {
                $("ul").filter(":odd").
                    css("background-color", "yellow");
            });
        </script>
    </head>
      
    <body style="text-align:center;">
      
        <h1 style="color:green;"
            GeeksForGeeks 
        </h1>
          
        <h4>Find() Method</h4>
      
        <ul>
            <li>GeeksforGeeks1.</li>
            <li>GeeksforGeeks2.</li>
            <ol>
                <li>GeeksforGeeks3.</li>
                <li>GeeksforGeeks4.</li>
                <ul>
                    <li>GeeksforGeeks5.</li>
                    <li>GeeksforGeeks6.</li>
                </ul>
            </ol>
        </ul>
    </body>
      
    </html>

  • Output:

Let us see the Differences in Tabular Form -:

find()filter()
1.The find() method is used to find all the descendant elements of the selected element.The filter() method is used to filter all the elements
2.The find() method finds the element in the DOM tree by traversing through the root to the leaf.The filter() method returns the element that matches and removes the element that does not match.
3.The find() method search through all the child elements only.The filter() method search through all the elements
4.It does not execute the function for empty elements.The filter() method does not change the original array.
5.It does not change the original array.The filter() method does not execute the function for empty elements.
6.

Its syntax is -:

array.find(function(value, Index, array),thisValue)

Its syntax is -:

array.filter(function(value, Index, array), thisValue)

7.This method returns undefined if no elements are found.In filter() method a value is passed to the function as its this value

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!