La tarea es filtrar la array en función del valor devuelto cuando se pasa a la función dada.
El propósito es recorrer la array y ejecutar una función que devolverá verdadero o falso. Luego, filtra todos los valores para los que la función (función de comparación) no devuelve verdadero .
Enfoque: si la array dada es [5, 6, 7, 8, 9, 2, 6, 3, -4, 0, -9, -6] y la tarea es filtrar los valores negativos y desea imprimir eso valores.
Vamos a crear una función que devuelva verdadero si el valor es positivo, de lo contrario, devuelve falso .
Código JavaScript:
Javascript
<script> // Comparator function const myFilter = (element) => { if(element >= 0){ return true; } else{ return false; } } </script>
Para filtrar la array, recorreremos la array y llamaremos a esta función » myFilter «. El valor se omite si devuelve verdadero , si la función devuelve falso, almacenaremos ese valor en filteredArr usando » filteredArr. push() ” la array filtrada. Usamos forEach bucle a través de los elementos de la array.
Ejemplo 1:
Javascript
<script> const arr = [5, 6, 7, 8, 9, 2, 6, 3, -4, 0, -9, -6]; // Filtered array for which function // returned false var filteredArr = []; // Comparator function const myFilter = (element) => { if (element >= 0) { return true; } else { return false; } } // Iterate through each element arr.forEach(element => { // Push in the filteredArr if // it returns false if (myFilter(element) === false) { filteredArr.push(element); } }) console.log("After filtering:", filteredArr); </script>
Producción:
After filtering : [ -4, -9, -6 ]
Ejemplo 2: para filtrar los valores positivos, podemos cambiar nuestra función myFilter o la sección de código de forEach loop. Si cambiamos la condición en la función myFilter por menos de cero, la función devolverá false para un valor positivo en su lugar. Guardaremos esos valores positivos en filteredArr .
Javascript
<script> // Data to filter const arr = [5, 6, 7, 8, 9, 2, 6, 3, -4, 0, -9, -6]; // Filtered array for which function // returned false var filteredArr = []; // Comparator function const myFilter = (element) => { if (element < 0) { return true; } else { return false; } } // Iterate through each element arr.forEach(element => { // Push in the filteredArr if // function return false if (myFilter(element) === false) { filteredArr.push(element); } }) console.log("After filtering :", filteredArr); </script>
Producción:
After filtering : [ 5, 6, 7, 8, 9, 2, 6, 3, 0 ]
Hemos filtrado con éxito la array para la que la función no devuelve verdadero .
Publicación traducida automáticamente
Artículo escrito por jymnjogiya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA