let a = Array(3); a[0] = 1; a[1] = undefined; function test(arr) { return arr.map(a => !!a); } console.log('before', a); // [1, undefined, undefined] console.log('after', test(a)); // [true, false, undefined]¿Cómo puedo verificar si el elemento de la matriz se inicializa como indefinido (a [1]) o no inicializado (a [2])? a[2] tiene un valor vacío, pero el navegador lo convierte en indefinido.
Puede usar hasOwnProperty con el índice.
Cuando no se establece ningún valor en el índice, hasOwnProperty devuelve false :
const a = Array(3); a[1] = undefined; console.log(a.hasOwnProperty(0)); console.log(a.hasOwnProperty(1)); console.log(a.hasOwnProperty(2)); in obras también:
const a = Array(3); a[1] = undefined; console.log(0 in a); console.log(1 in a); console.log(2 in a);