Hoy he aprendido que si tienes un array que tiene elementos no nulos y elementos nulos y quieres quitarte de encima los nulos, puedes hacer un .filter(Boolean) para compactarlo.
.filter(Boolean)
> let a = [1, 2, false, 4, null, 6, 7] > let b = a.filter(Boolean) > console.log(b) [ 1, 2, 4, 6, 7 ]
danirod Estas son las que denominan matrices dispersas??
No solo funciona para Booleans, también sirve para Number por ejemplo:
> let a = [1, 2, false, 4, "hello", 6, 7, "world", [1, 2, 3]] > let b = a.filter(Number) > console.log(b) [ 1, 2, 4, 6, 7 ]