Así que estoy tratando de buscar un objeto indefinido entre varios y luego hacer algo con ese específico. Este código a continuación funciona, pero puedo imaginar que hay una mejor manera que simplemente usar else if 20 veces seguidas.
if (duelswins === undefined) { document.getElementById('duels_wins').style.display = 'none' } else if (duelslosses === undefined) { document.getElementById('duels_losses').style.display = 'none' } else if (duelskills === undefined) { document.getElementById('duels_kills').style.display = 'none' } else if (duelsdeaths === undefined) { document.getElementById('duels_deaths').style.display = 'none' } else if (duelsgoals === undefined) { document.getElementById('duels_goals').style.display = 'none' } else if (duelskdr === undefined) { document.getElementById('duels_kdr').style.display = 'none' } else if (duelswlr === undefined) { document.getElementById('duels_wlr').style.display = 'none' } else if (duelsgwr === undefined) { document.getElementById('duels_gwr').style.display = 'none' }Puede haber varios de los que no están definidos, pero también podría ser ninguno de ellos.
Este es solo un ejemplo, estoy más interesado si hay una alternativa para usar tantas declaraciones if solo para verificar básicamente lo mismo una y otra vez.
En lugar de usar variables individuales, puede poner estos valores en un objeto y luego recorrer las claves/valores. No estoy seguro de cuáles son exactamente sus requisitos, pero este podría ser un paso en la dirección correcta:
const data = { duels_wins: undefined, duels_losses: 123, duels_deaths: undefined, // ... }; Object.entries(data).forEach(([key, value]) => { if (value === undefined) { document.getElementById(key).style.display = 'none'; } }); <div id="duels_wins">duels_wins</div> <div id="duels_losses">duels_losses</div> <div id="duels_deaths">duels_deaths</div>