Tengo una matriz en Javascript. Se parece al de abajo.
source_array=[["A","B","C"],["A","B","C"],["A","B","C"]] ;
Lo creo por source_array.push(anotherArray) . Durante la ejecución de mi código, elimino las entradas de los índices una por una por source_array[1].splice(0,1) . Así que de [["A","B","C"],["A","B","C"],["A","B","C"]] espero obtener [["A","B","C"],["B","C"],["A","B","C"]] ;
Si lo hago suficientes veces debería terminar con [["A","B","C"],[],["A","B","C"]] .
¿Cómo verificar correctamente si source_array [1] ahora está vacío? No parece funcionar para mí.
If (source_array[1] == undefined) esto resulta FALSO en lugar de VERDADERO. Da FALSO solo después de que terminé de eliminar los elementos. Funciona bien si compruebo source_array[2] in a source_array[["A","B","C"],["A","B","C"]]
Creo que probé todo lo que encontré en línea.
Presiento que será algo básico, pero soy aficionado y esto... me supera.
Si bien la matriz está vacía, no está indefinida.
Compruebe siempre la propiedad de longitud de la matriz para determinar si una matriz de destino está vacía.
De este modo:
let arr = []; let arr2 = ['foo', 'bar']; arr.length === 0; // true, empty arr2.length === 0; // false, populated