Tengo estos códigos a continuación y ¿cómo puedo verificar si el ar está vacío?
let ar2 = []; const items = users[0]?.[2]?.itemList; if (items) { for (const [key, value] of Object.entries(items)) { ar2.push(key, <br />); } } si voy a console.log(ar2) , muestra esto [ ]
¿Cómo puedo verificar que la matriz esté vacía y luego mostrar el mensaje "Esto está vacío"?
Intenté esto pero no funciona correctamente. Incluso si es mayor o menor que 0, siempre mostrará "2"
{ar2 < 0 ? <>1</> : <>2</>}ar2.length le mostrará la cantidad de elementos en la matriz.
Simplemente podrías hacer esto:
{ar2.length === 0 && 'This is empty'}Primero puede verificar si es una matriz y luego puede verificar el vacío usando la propiedad de length
1) Primero puede verificar si ar2 es una matriz o no usando la función estática isArray . Porque puede crear un objeto que tiene la propiedad de length , pero puede ser o no una array
function isEmptyNotRecommended(obj) { return obj.length === 0; } function isEmptyRecommended(obj) { return Array.isArray(obj) && obj.length === 0; } const arr = { length: 0 }; // This is not an array but still returns true console.log(isEmptyNotRecommended(arr)); // This should be recommended approach to check for array emptiness console.log(isEmptyRecommended(arr)); RECOMMENDED SOLUTION ⬇
2) Si es una matriz, entonces es seguro usar la propiedad de length en ella. Si su longitud es more than 0 , entonces no está not empty , de lo contrario, está empty
Puede usar ar2.length === 0 o !ar2.length
{ Array.isArray(ar2) && !ar2.length ? <>1</> : <>2</>; }La propiedad de length devolverá la cantidad de elementos en la matriz.
Si desea verificar si una matriz está vacía, verifique si su propiedad de length es 0 .
{ar2.length == 0 ? <>1</> : <>2</>}