Giả sử chúng ta có mảng chữ số như sau:
const arr = [4, 6, , 45, 3, 345, , 56, 6];
Chúng ta cần viết hàm nhận vào mảng này và xóa tất cả phần tử undefined trong mảng ngay tại chỗ (in place). Chỉ xóa undefined và giá trị rỗng, không xóa tất cả giá trị falsy.
Dùng vòng lặp for duyệt mảng và Array.prototype.splice() để xóa undefined in place.
Ví dụ
Dưới đây là đoạn code:
const arr = [4, 6, , 45, 3, 345, , 56, 6]
const eliminateUndefined = arr => {
for(let i = 0; i < arr.length; ){
if(typeof arr[i] !== 'undefined'){
i++;
continue;
};
arr.splice(i, 1);
};
};
eliminateUndefined(arr);
console.log(arr);Kết quả
Đoạn code sẽ in ra console:
[ 4, 6, 45, 3, 345, 56, 6 ]