I have an array of google map markers and I’m removing some of them using the delete method.
The function I use is as below;
function removeMarker(markerOrder) {
markers[markerOrder].setMap(null);
delete markers[markerOrder];
console.log(markers);
counter--;
}
I cannot change delete as function because I need to keep the markers array order.
If I delete a value, in the console it is shown as replaced with empty as value.
So when all the markers are deleted from he markers array, I see in the console:
(4) [empty × 4]
I’m trying to verify if the array has all its values empty but it seems like the empty I see in console is neither null, "" nor undefined.
Here is my code:
function allEmpty(arr) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] !== null) {//Not working
//if (arr[i].length !== 0) {//Not working
//if (typeof(arr[i]) !== 'undefinded') {//Not working
//if (arr[i] !== '') {//Not working
return false;
}
}
return true;
}
Any help please?
Thanks.
>Solution :
To check if the array is empty, you can use .some to help you, for example:
function allEmpty(arr) {
return !arr.some(el=>el)
}
const arr = [1, 2, 3, 4, null, 6]
console.log(allEmpty(arr))
//false
const arr2 = ['', null, undefined]
console.log(allEmpty(arr2))
//true