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); // 3Bạn có thể bỏ qua các phần tử:
const [a, , c] = [1, 2, 3];
console.log(a); // 1
console.log(c); // 3Bạ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); // 3Thử 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ảngsecond: Phần tử thứ hai của mảnglast: Phần tử cuối cùng trong các phần tử đứng sau phần tử thứ hai (nullkhi 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...restsau khi lấylastra)
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
}
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