Replacing Empty With Zero Values In Array
i have an array as , i need to remove the empty values and replace it with zeros. i have achieved this much . when i checked the array length is 8 but it shows 2 elements only. Wha
Solution 1:
One method is to use Array.from
, which iterates over each element from 0 to the length
of the array (unlike map
, which only iterates over properties that are actually on the array)
var a = [];
a[3] = 5
a[5] = 15
a = Array.from(a, item => item || 0);
console.log(a);
If there are possibly non-zero falsey values in the array that you don't want to be replaced with 0, you can do a typeof
check:
var a = [];
a[3] = 5
a[2] = null;
a[5] = 15
a = Array.from(a, item =>typeof item === 'undefined' ? 0 : item);
console.log(a);
Solution 2:
You can use this function to do this and set the value you want to replace with 0,'' or null
function replaceEmptyWith(arr,val) {
var _arr = [];
if (arr && arr.length > 0) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] === undefined) _arr[i] = val;
else _arr[i] = arr[i];
}
return _arr;
}
return arr;
}
var a = [];
a[3] = 5
a[5] = 15
a = replaceEmptyWith(a,0);
Also I found this question which may help you
Solution 3:
You can try this,
var a = [];
a[3] = 5
a[2] = null
a[5] = 15for (var i = 0; i < a.length; i++) {
if (a[i] == undefined) {
a[i] = 0;
}
}
console.log(a);
also, You can use Array.prototype.map
:
a = a.map(function(val, i) {
returnval === undefined ? 0 : val;
});
Post a Comment for "Replacing Empty With Zero Values In Array"