Mảng thưa
Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 49 trên 65.
Mảng thưa trong JavaScript là mảng có các vị trí trống hoặc khoảng trống giữa các phần tử. Những khoảng trống này xuất hiện khi bạn gán giá trị cho các chỉ số không liên tiếp hoặc khi bạn xóa phần tử khỏi mảng.
Đây là ví dụ về cách tạo một mảng thưa:
let sparseArray = [1, , , 4, 5];
console.log(sparseArray.length); // 5
console.log(sparseArray); // [1, empty × 2, 4, 5]Bạn cũng có thể tạo mảng thưa bằng cách gán giá trị cho một chỉ số vượt quá độ dài hiện tại:
let arr = [1, 2, 3];
arr[10] = 10;
console.log(arr); // [1, 2, 3, empty × 7, 10]
console.log(arr.length); // 11Ô trống không giống với ô chứa undefined, nhưng đọc arr[i] thì trong cả hai trường hợp đều nhận được undefined. Để phân biệt chúng, hãy kiểm tra xem chỉ số đó có tồn tại hay không bằng toán tử in:
let sparseArray = [1, , , 4, 5];
console.log(1 in sparseArray); // false, ô ở chỉ số 1 trống
console.log(0 in sparseArray); // true, ô ở chỉ số 0 chứa 1Thử thách
DễTạo một hàm (function) có tên analyzeSparseArray, nhận một mảng thưa làm đối số. Hàm sẽ trả về một đối tượng có các thuộc tính sau:
length: Tổng độ dài của mảngelementCount: Số phần tử không rỗng trong mảnglargestGap: Kích thước khoảng trống lớn nhất (các ô trống liên tiếp) trong mảng
Tự làm thử
function analyzeSparseArray(arr) {
// Viết code của bạn ở đây
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
4JSON phần 2
Duyệt qua JSONJSON lồng nhauOptional chaining trong JSONSao chép nông và sâuÔn tập: Cửa hàng xe đạpÔn tập: Hệ Mặt Trời7Hệ thống quản lý thư viện
Tổng quan dự ánThêm sách10Quản lý hệ thống lễ hội
Tổng quan dự ánThêm phim và địa điểm2Mảng nhiều chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập về mảng 2 chiềuPhép cộng và phép trừ ma trậnMảng không đềuMảng 3 chiều và hơn nữaCác mẫu thường gặp với mảng 2 chiềuÔn tập về mảng3JSON phần 1
JSON là gì?Kiểm tra khóa có tồn tạiPhương thức của đối tượngToán tử spread phần 1Toán tử spread phần 2Xóa khóaÔn tập: thao tác với khóa trong JSONTự luyện tập: Trình biên dịch JavaScript online