Giả sử tôi là nhà phát triển tập lệnh người dùng và tôi không có quyền kiểm soát đối với javascript trên trang. Trang tạo các mảng với độ dài ngẫu nhiên, điền chúng với các giá trị ngẫu nhiên (bao gồm cả các mảng giả, chẳng hạn như undefined
). Không phải mọi phần tử đều phải được chỉ định một giá trị, vì vậy có thể có các vùng trống.Làm thế nào để nói giữa các phần tử mảng không xác định và các vùng trống?
Một ví dụ đơn giản (Firefox console):
var arr = new Array(3);
arr[0] = null;
arr[1] = undefined;
console.log(arr); \\ Array [ null, undefined, <1 empty slot> ]
console.log(arr[1]); \\ undefined
console.log(arr[2]); \\ undefined
console.log(arr[1] === arr[2]); \\ true
console.log(typeof arr[1]); \\ undefined
console.log(typeof arr[2]); \\ undefined
Như chúng ta có thể thấy, Firefox sẽ hiển thị undefined
và trống rỗng khe khác nhau, trong khi cho javascript họ dường như giống hệt nhau.
Bây giờ giả sử tôi muốn xóa một mảng như vậy, xóa tất cả các vùng trống nhưng để nguyên các phần tử còn nguyên vẹn undefined
. Làm thế nào để làm điều đó?
những gì có nghĩa là khe trống rỗng? bạn có muốn một mảng mới không? –