¿Cuál es la diferencia entre los métodos find() y filter() en JavaScript?

El método find() se usa para encontrar todos los elementos descendientes del elemento seleccionado. Encuentra el elemento en el árbol DOM atravesando la raíz hasta la hoja.

El método filter() se usa para filtrar todos los elementos y devuelve el elemento que coincide y se eliminan los elementos que no coinciden.

La única diferencia es que el método filter() busca en todos los elementos, mientras que el método find() busca solo en todos los elementos secundarios.

  • Ejemplo 1: este ejemplo utiliza el método find() para buscar el elemento.

    <!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>
  • Producción:
  • Ejemplo 2: Cambios realizados cuando usamos el método filter() para buscar.

    <!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>
  • Producción:

Veamos las diferencias en forma tabular:

encontrar() filtrar()
1. El método find() se usa para encontrar todos los elementos descendientes del elemento seleccionado. El método filter() se usa para filtrar todos los elementos.
2. El método find() encuentra el elemento en el árbol DOM atravesando la raíz hasta la hoja. El método filter() devuelve el elemento que coincide y elimina el elemento que no coincide.
3. El método find() busca solo en todos los elementos secundarios. El método filter() busca en todos los elementos
4. No ejecuta la función para elementos vacíos. El método filter() no cambia la array original.
5. No cambia la array original. El método filter() no ejecuta la función para elementos vacíos.
6.

Su sintaxis es -:

array.find(función(valor, Índice, array),esteValor)

Su sintaxis es -:

array.filtro(función(valor, Índice, array), esteValor)

7. Este método devuelve indefinido si no se encuentran elementos. En el método filter(), se pasa un valor a la función como este valor

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *