I'm trying to loop through a sparse array and fill in sparse elements with a value.
['foo', 'bar', , , ,].map(el => el || 'default')
// returns ["foo", "bar", undefined × 3]
How would I return ["foo", "bar", "default", "default", "default", "default"]
Since .map
(and also .forEach
) will skip sparse values there's no option except to use a loop, but you should explicitly check for the absence of the missing keys
for (var i = 0, n = a.length; i < n; ++i) {
if (!(i in a)) { // explicit check for missing sparse value
a[i] = "default";
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With