Menu
CoddyTech

Phân rã mảng

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 47 trên 65.

Phân rã mảng (array destructuring) là cách thuận tiện để trích xuất nhiều giá trị từ một mảng (array) và gán chúng cho các biến (variable) trong một câu lệnh. Cách này dùng cú pháp phản ánh cấu trúc của một biểu thức tạo mảng.

Cú pháp cơ bản:

const [a, b, c] = [1, 2, 3];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3

Bạn có thể bỏ qua các phần tử:

const [a, , c] = [1, 2, 3];
console.log(a); // 1
console.log(c); // 3

Bạn có thể dùng tham số rest để thu thập các phần tử còn lại:

const [a, ...rest] = [1, 2, 3, 4, 5];
console.log(a);    // 1
console.log(rest); // [2, 3, 4, 5]

Bạn có thể cung cấp các giá trị mặc định:

const [a, b, c = 3] = [1, 2];
console.log(c); // 3
challenge icon

Thử thách

Dễ

Tạo một hàm có tên analyzeArray nhận một mảng làm đối số. Hàm này nên dùng phép phân rã mảng để lấy phần tử đầu tiên, thứ hai và cuối cùng của mảng. Hàm sẽ trả về một đối tượng có các thuộc tính sau:

  • first: Phần tử đầu tiên của mảng
  • second: Phần tử thứ hai của mảng
  • last: Phần tử cuối cùng trong các phần tử đứng sau phần tử thứ hai (null khi mảng có hai phần tử trở xuống)
  • restLength: Số phần tử nằm giữa phần tử thứ hai và last (mảng ...rest sau khi lấy last ra)

Nếu không tồn tại phần tử nào trong số này, hãy dùng giá trị mặc định là null. Ví dụ: với [1, 2, 3, 4, 5], kết quả là { first: 1, second: 2, last: 5, restLength: 2 }; với [42], kết quả là { first: 42, second: null, last: null, restLength: 0 }.

Tự làm thử

function analyzeArray(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