Valores falsos/falsos: en JavaScript hay 7 valores falsos, que se dan a continuación
- falso
- cero (0,-0)
- string vacía(“”, ‘ ‘ , ` `)
- BigIntZero(0n,0x0n)
- nulo
- indefinido
- Yaya
En JavaScript, la array acepta todo tipo de valores falsos. Veamos algunos enfoques sobre cómo podemos eliminar valores falsos de una array en JavaScript:
- Usando el ciclo for-each
- Usando el método Array.filter
- Usando el método Array.reduce
- Usando for…of bucle
Ejemplo:
Entrada: [23, 0, «gfg», falso, verdadero, NaN, 12, «hola», indefinido, [], «»]
Salida: [23, «gfg», verdadero, 12, «hola», [] ]
Entrada: [“”, 0, falso, indefinido, NaN, nulo]
Salida: []
Enfoque: Hay muchos enfoques para lograr esto, algunos de ellos son los siguientes:
Usando for..each loop: en este enfoque, iteramos la array usando for..each loop y en cada iteración, verificamos si el valor es verdadero, si es verdadero, entonces empujamos el valor en una array recién creada , y luego devolvemos la nueva array.
Ejemplo:
Javascript
<script> let arr = [23, 0, "gfg", false, true, NaN, 12, "hi", undefined, [], ""]; function removeFalsey(arr) { // newly created array let newArr = []; // Iterate the array using the forEach loop arr.forEach((k) => { // check for the truthy value if (k) { newArr.push(k); } }); // return the new array return newArr; } console.log(removeFalsey(arr)); </script>
Producción:
[23, "gfg", true, 12, "hi", []]
Usando el método Array.filter(): En este enfoque, estamos usando el método array.filter . El método de filtro verifica la array y filtra los valores falsos de la array y devuelve una nueva array.
Ejemplo:
Javascript
<script> let arr = ["", 0, false, undefined, NaN, null]; function removeFalsey(arr) { // Applying the filter method on the array return arr.filter((k) => { // Checking if the value is truthy if (k) { return k; } }); } console.log(removeFalsey(arr)); </script>
Producción:
[]
ES6 wayo del método Array.filter(): si puede usar esta oración es6.
Ejemplo:
Javascript
<script> let arr = [23, 0, "gfg", false, true, NaN, 12, "hi", undefined, [], ""]; function removeFalsey(arr) { // Return the first parameter of the callback function return arr.filter((val) => val); } console.log(removeFalsey(arr)); </script>
Producción:
[23, "gfg", true, 12, "hi", []]
Pasar el valor booleano: también puede lograr esto pasando el constructor booleano como argumento del método de filtro.
Ejemplo:
Javascript
<script> let arr = [23, 0, "gfg", false, true, NaN, 12, "hi", undefined, [], ""]; function removeFalsey(arr) { // Passing Boolean constructor inside filter return arr.filter(Boolean); } console.log(removeFalsey(arr)); </script>
Producción:
[23, "gfg", true, 12, "hi", []]
Usando el método Array.reduce: Usando el método Array.reduce, iteramos la array e inicializamos el acumulador con una array vacía y si el valor actual no es un valor falso, devolvemos un valor concatenado del acumulador; de lo contrario, solo devolvemos el acumulador.
Ejemplo:
Javascript
<script> let arr = [23, 0, "gfg", false, true, NaN, 12, "hi", undefined, [], ""]; function removeFalsey(arr) { return arr.reduce((acc, curr) => { // Check if the truthy then return concatenated value acc with curr. // else return only acc. if (curr) { return [...acc, curr]; } else { return acc; } }, []); // Initialize with an empty array } console.log(removeFalsey(arr)); </script>
Producción:
[23, "gfg", true, 12, "hi", []]
Usando for…of bucle
Usando for…of loop: usando for…of loop itera la array y verifica cada elemento si es falso o verdadero. Si el elemento es verdadero, empuje el elemento a una array recién creada.
Ejemplo:
Javascript
<script> let arr = [23, 0, "gfg", false, true, NaN, 12, "hi", undefined, [], ""]; function removeFalsey(arr) { // Create a new array let output = []; for (x of arr) { if (x) { // Check if x is truthy output.push(x); } } return output; } console.log(removeFalsey(arr)); </script>
Producción:
[23, "gfg", true, 12, "hi", []]
Usando el bucle for simple: usando el bucle for itere la array y verifique cada elemento si es falso o verdadero. Si el elemento es verdadero, empuje el elemento a una array recién creada.
Ejemplo:
Javascript
<script> let arr = [23, 0, "gfg", false, true, NaN, 12, "hi", undefined, [], ""]; function removeFalsey(arr) { // Create a new array let output = []; for (let i = 0; i < arr.length; i++) { if (arr[i]) { output.push(arr[i]); } } return output; } console.log(removeFalsey(arr)); </script>
Producción:
[23, "gfg", true, 12, "hi", []]
Publicación traducida automáticamente
Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA