Hai All, tengo una matriz con el nombre "ids" y algunos valores como ['0', '567', '956', '0', '34']. Ahora necesito eliminar los valores "0" de esta matriz. ids.remove ("0"); no funciona.
Por favor, hágamelo saber la solución.eliminar valores cero de la matriz con javascript
Respuesta
Utilice el método de empalme en javascript. Pruebe esta función:
function removeElement(arrayName,arrayElement)
{
for(var i=0; i<arrayName.length;i++)
{
if(arrayName[i]==arrayElement)
arrayName.splice(i,1);
}
}
parámetros son:
arrayName:- Name of the array.
arrayElement:- Element you want to remove from array
lo que es 1. Creo que necesito para usar "0" en lugar de "1" en mi caso ¿no? – vissu
+1 aunque la comparación estricta podría ser mejor ... –
@vissupepala: No. Lea la documentación: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice. Significa eliminar 1 elemento a partir del índice 'i'. –
A continuación código puede resolver su problema
for(var i=0; i<ids.length;i++)
{
if(ids[i]=='0')
ids.splice(i,1);
}
es simple y fácil de entender, y resuelve el problema también. gracias – vissu
Eso fallará si la matriz tiene dos ceros consecutivos. –
Aquí es una función que elimina elementos de una matriz con un valor particular que ganó Fallo cuando dos elementos consecutivos tienen el mismo valor:
function removeElementsWithValue(arr, val) {
var i = arr.length;
while (i--) {
if (arr[i] === val) {
arr.splice(i, 1);
}
}
return arr;
}
var a = [1, 0, 0, 1];
removeElementsWithValue(a, 0);
console.log(a); // [1, 1]
En la mayoría de los navegadores (excepto IE < = 8), puede utilizar el método de objetos Array filter()
, a pesar de ser consciente de que esto le hace regresar una nueva matriz:
a = a.filter(function(val) {
return val !== 0;
});
Podrías 'devolver val;' también –
@BrianLeishman: si todos los miembros de tu matriz tienen la garantía de ser números, entonces sí, pero no es lo mismo en general: el uso de 'return val' filtrará cualquier valor falso, tal como 'falso' o una cadena vacía, en lugar de simplemente' 0'. –
Sí, fue específicamente en este ejemplo, pensé que ya que tenía el '! ==' que tenía sentido aquí –
Para las matrices de tamaño no triviales, aún es mucho más rápido construir una nueva matriz que empalmar o filtrar.
var new_arr = [],
tmp;
for(var i=0, l=old_arr.length; i<l; i++)
{
tmp = old_arr[i];
if(tmp !== '0')
{
new_arr.push(tmp);
}
}
¡Si hace un empalme, itere hacia atrás!
+1 iterar hacia atrás – As3adTintin
Aquí hay una manera de hacerlo:
['0','567','956','0','34'].filter(Number)
ids.filter(function(x) {return Number(x);});
- 1. Cómo eliminar valores cero de una matriz en paralelo
- 2. Eliminar valores cero a partir de una matriz PHP
- 3. Eliminar claves con valores falsos de la matriz en PHP
- 4. Eliminar valores nulos de javascript array
- 5. Eliminar cero de HIGHCHART
- 6. Eliminar valores de matriz en pgSQL
- 7. Eliminar valores nan de una matriz
- 8. eliminar cero líneas 2-D de matriz numpy
- 9. PHP eliminar valores duplicados de la matriz multidimensional
- 10. Matriz de longitud cero
- 11. ¿Eliminar objeto de una matriz de JavaScript?
- 12. MySQL Eliminar cero pendiente
- 13. javascript array.sort con valores indefinidos
- 14. Eliminar caracteres URL ilegales con JavaScript
- 15. ¿Cómo eliminar filas con un valor cero en R?
- 16. ¿Construirá por defecto una matriz de enteros con inicialización cero?
- 17. R: Reemplazar valores negativos por cero
- 18. ¿Cómo eliminar valores de una matriz en PHP?
- 19. Dividir por cero Mostrar valores
- 20. Obtener nombres de elementos de enumeraciones con valores cero múltiples
- 21. Rellenar la matriz de Javascript con C#
- 22. cómo eliminar elementos de la matriz?
- 23. Initialize double array con valores distintos de cero (blas)
- 24. Cómo eliminar valores duplicados de una matriz en PHP
- 25. elemento eliminar de la matriz
- 26. Manera limpia de eliminar elemento de la matriz javascript (con jQuery, coffeescript)
- 27. Rellenar otra matriz desde la matriz - Javascript
- 28. alloc una estructura con matriz de longitud cero usando nuevo
- 29. Encontrar todas las combinaciones de valores de matriz de JavaScript
- 30. Javascript. Asignar valores de matriz a múltiples variables?
Bueno, 'Array.prototype.remove' no existe, por lo que no puede trabajar;) –