Menu
CoddyTech

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 1
challenge icon

Thử 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:

  1. length: Tổng độ dài của mảng
  2. elementCount: Số phần tử không rỗng trong mảng
  3. largestGap: 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
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch JavaScript online