¿Cómo obtener acceso al valor verificado de la declaración if (caso), dentro del bloque if después de la verificación? en lugar de tener que escribir otros 4 condicionales según cada caso?
if ((obj.a === '' || obj.b === '' || obj.c === '' || obj.d === '')) { console.log(what case has been triggered ?) selected.a ? something : null selected.b ? something : null selected.c ? something : null selected.d ? something : null }Puede crear un objeto que contenga el resultado de cada una de las comparaciones en un objeto con las claves correspondientes usando Array.reduce :
const obj = { a: " ", b: " ", c: " ", d: " " }; const boolObj = Object.keys(obj).reduce((accum, key) => { accum[key] = obj[key] === " "; return accum; }, {}); // result: {a: true, b: true, c: true, d: true} Luego, puede verificar la validez usando Array.every :
if (Object.values(boolObj).every(val => val)) { // do something }Sin embargo, dado que no proporcionó un mejor contexto, no puedo dar una mejor respuesta que se ajuste a sus necesidades. Para mí, creo que esto es un exceso de ingeniería, y estoy bastante seguro de que probablemente haya formas mucho mejores de resolver el problema en relación con su contexto.