(assuming you're really asking) It's because JS has a notion of array elements being "empty", and the map operation skips empty elements. Basically "empty" means the element has never had a value assigned to it, but its index is less than the array's length property.
Not really. Now explain why [,,,].map((e,i) => i) is [,,,] instead of [1,2,3] please ;)