Array eliminar cadenas vacías
Las funciones de filtro le permiten hacer un bucle a través de un array, realizar tareas para cada array, y devolver un array de elementos que cumplen esa tarea o condición especificada en el filtro. Aquí hay 3 maneras de utilizar las funciones de filtro para eliminar los elementos vacíos de su matriz.
En la primera función de filtrado, sólo comprobamos si el número es mayor o igual que él mismo. Devuelve todos los elementos del array que cumplen esta condición. Los nulos, los valores indefinidos y los elementos vacíos no cumplen esta condición, por lo que no están presentes en la matriz resultante.
El segundo filtro comprueba si cada elemento de la matriz es un número, utilizando la función Number(), mientras que el tercer filtro comprueba si cada elemento se evalúa como un booleano adecuado. En caso de nulos, indefinidos y espacios en blanco, devolverán falso cuando se pasen a la función Boolean().
La función join() concatena todas las cadenas en un único texto, omitiendo los nulos, indefinidos y espacios en blanco en el proceso. La función split() divide cada carácter del texto en un elemento separado de la matriz.
En este artículo, hemos aprendido a eliminar los elementos vacíos del array JS. El uso de filter() es una de las formas más simples y flexibles de hacer esto. Puedes personalizar las funciones de callback del filtro según tus necesidades.
¿Cómo se eliminan los elementos vacíos?
Respuesta: Utilizar el método filter()
Puede utilizar el método filter() para eliminar elementos vacíos (o valores falsos) de un array de JavaScript. Un valor falso es un valor que se considera falso en un contexto booleano. Los valores falsos en JavaScript incluyen una cadena vacía “” , false , 0 , null , undefined , y NaN .
¿Cómo se eliminan los elementos de una matriz en JavaScript?
Los elementos de las matrices pueden eliminarse mediante el operador JavaScript delete . El uso de delete deja huecos indefinidos en el array. Utilice en su lugar pop() o shift().
Javascript elimina un elemento del array por su índice
En ambas formas, esto funciona porque el método de filtrado en el primer caso, llama al constructor booleano como una función, convirtiendo el valor, y en el segundo caso, el método de filtrado internamente convierte el valor de retorno del callback implícitamente en booleano.
Esas dos respuestas no son del todo correctas, incluso en el ejemplo dado, sí, funciona pero presta atención al número 0 en el array dado, por ambas formas el número cero desaparece y obviamente está relacionado con la comprobación de elementos mediante el uso de la coerción booleana.
Si usar una librería es una opción sé que underscore.js tiene una función llamada compact() http://documentcloud.github.com/underscore/ también tiene varias otras funciones útiles relacionadas con arrays y colecciones.
Puede que te resulte más fácil hacer un bucle sobre tu array y construir un nuevo array con los elementos que quieras conservar del array que intentar hacer un bucle y empalmar como se ha sugerido, ya que modificar la longitud del array mientras se hace el bucle puede introducir problemas.
Específicamente, la función filter() de ES5 ya no se activa para los elementos no definidos dentro del array; así que una función que devuelve universalmente true, que devuelve todos los elementos que filter() encuentra, necesariamente sólo devolverá elementos no definidos:
Filtro Javascript nulo
Su caso de uso puede ser diferente, por ejemplo, usted también necesita excluir todas las cadenas vacías y los valores NaN. En ese caso puede añadir condiciones adicionales utilizando el operador && (and).index.js¡Copiado!const arr = [‘a’, ”, ‘b’, , undefined, 0, ‘c’, null, NaN];
antes de introducirlo en el array de resultados.Puedes añadir más condiciones, por ejemplo, para comprobar si el elemento no es una cadena vacía añade otra condición utilizando el operador && (and).Este enfoque es un poco más fácil de leer para los nuevos desarrolladores porque no
Javascript elimina la cadena vacía del array
) */En el ejemplo anterior, array_filter() eliminó todos los elementos de la matriz que evaluaron dos false. Esto incluye ”, 0, false, null y ‘0’. Una cosa que puedes haber notado es que las claves del array original por qué no se reindexan después de eliminar los elementos vacíos del array. Si quiere re-indexar las claves, necesita envolver el resultado de array_filter() en la función array_values().PHP$input = array(‘Alex’, ”, 10, 0, -1, false, null, ‘0’, ‘false’);
) */Eliminar elementos vacíos de la matriz usando array_filter()Dependiendo de las necesidades del proyecto actual, el valor booleano false puede o no ser considerado vacío. Del mismo modo, el valor 0 puede no ser considerado vacío también. Si todo lo que quiere hacer es eliminar cadenas vacías de un array, tendrá que pasar una función callback personalizada a array_filter(). Un elemento será eliminado si la función de devolución de llamada devuelve false para ese elemento en particular. Aquí hay un ejemplo:PHP$input = array(‘Alex’, ”, 10, 0, -1, false, null, ‘0’, ‘false’);
} */Como puede ver en el ejemplo anterior, el único elemento del array que fue eliminado es la cadena vacía. Nuevamente, las claves del array final pueden ser reindexadas usando la función array_value().Otro método para eliminar la cadena vacía de un array incluye pasar la función strlen() como una llamada de retorno a la función array_filter(). Es importante recordar que esto sólo funciona como se espera si los elementos de la matriz no tienen un valor booleano falso.En algunos casos, un elemento de la matriz no será una cadena vacía, pero sólo contendrá caracteres de espacio en blanco haciendo efectivamente en vacío. Si desea eliminar todos los elementos que contengan una cadena vacía o una cadena con sólo caracteres de espacio en blanco, también tendrá que aplicar trim() en todos los elementos en la función de devolución de llamada.PHP$input = array(‘Alex’, ”, ‘Amanda ‘, ‘ ‘, ‘0’, ‘ Joshua ‘);