Xâu chuỗi các phương thức 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 55 trên 65.
Việc xâu chuỗi các thao tác trên mảng (array) cho phép bạn thực hiện nhiều thao tác trên một mảng trong cùng một câu lệnh. Cách này giúp code ngắn gọn và dễ đọc hơn.
Đây là ví dụ về cách nối chuỗi các phương thức của mảng:
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((sum, num) => sum + num, 0);
console.log(result); // 60Trong ví dụ này, chúng ta bắt đầu với một mảng số, lọc bỏ các số lẻ, nhân đôi từng số còn lại, rồi tính tổng các kết quả.
Thứ tự nối chuỗi (chaining) rất quan trọng. Mỗi phương thức trong chuỗi hoạt động trên kết quả của phương thức trước đó.
Thử thách
DễTạo một hàm có tên processFruits nhận một mảng các đối tượng trái cây. Mỗi đối tượng trái cây có thuộc tính name (chuỗi) và quantity (số).
Hàm này nên dùng các phương thức mảng được nối chuỗi để:
- Lọc bỏ các loại trái cây có số lượng bằng 0
- Chuyển tên từng loại trái cây thành chữ hoa
- Tạo một chuỗi liệt kê tất cả các loại trái cây cùng số lượng của chúng, như "APPLE: 5, BANANA: 3"
Nhắc nhanh:
Bạn có thể dùng hàm .join(", ") để chuyển một mảng các chuỗi thành một chuỗi duy nhất.
Bạn cũng có thể nối chuỗi cả hàm .join():
arr.filter(...)
.map(...)
.join(...)Tự làm thử
function processFruits(fruits) {
// 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 JSON6Tập hợp, phần 2
Toán học: Phép hợp của các tập hợpToán học: Phép giao của các tập hợpToán học: Phép hiệu của các tập hợpToán học: Hiệu đối xứngTập con và tập chaÔn tập: Nhóm bạn bè9Các phương thức mảng nâng cao
Các phương thức Join và SplitPhương thức MapPhương thức FilterPhương thức ReduceXâu chuỗi các phương thức mảngForEach và Map có giống nhau không?Phương thức SortPhương thức Find và FindIndexÔn tập: bậc thầy xâu chuỗiTự luyện tập: Trình biên dịch JavaScript online