Xóa tất cả chỉ số rỗng khỏi mảng trong JavaScript
Giả sử chúng ta có một mảng giá trị nguyên thủy như sau:
const arr = [4, 6, , 45, 3, 345, , 56, 6];
Chúng ta cần viết một hàm JavaScript nhận vào một mảng như vậy và xóa tất cả các phần tử undefined khỏi mảng tại chỗ (in-place).
Chúng ta chỉ cần xóa các giá trị undefined và rỗng, không phải tất cả các giá trị falsy.
Chúng ta sẽ dùng vòng lặp for để lặp qua mảng và dùng Array.prototype.splice() để xóa các phần tử undefined tại chỗ.
Do đó, hãy viết mã cho hàm này:
Ví dụ
Mã thực hiện như sau:
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);
Đầu ra
Kết quả trong console sẽ là:
[ 4, 6, 45, 3, 345, 56, 6 ]