JS: Eliminar valores undefined,null,false y '' de un objeto

JS: Eliminar valores undefined,null,false y '' de un objeto

Si tenes el siguiente objeto:

const obj = {
    val1: 'val1', 
    val2: null, 
    val3: '', 
    val4: 'val4',
    val5: false;
}

Y deseamos remover los valores false, undefined, null y también los valores vacíos (string vacío '') para obtener el siguiente objeto:

const obj = {
    val1: 'val1', 
    val4: 'val4'
}

Solución

Todo lo que tenemos que hacer es recorrer el objeto y eliminar esos valores con lo siguiente:

Object.fromEntries(Object.entries(obj).filter(value => value[1]));

Eso devolverá un nuevo objeto sin alterar el nuestro, entonces podríamos guardarlo en una nueva constante:

const newObj = Object.entries(obj).filter(value => value[1])

Y ahora newObj contiene nuestro nuevo objeto sin valores vacíos, nulos, undefined ni false!