Ôn tập: bậc thầy xâu chuỗi
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 59 trên 65.
Thử thách
DễTạo một hàm có tên chainMaster, nhận một mảng số làm đối số. Hàm này cần dùng các phương thức mảng nối tiếp nhau để thực hiện những thao tác sau:
- Chỉ giữ lại các số chia hết cho 3
- Nhân mỗi số còn lại với 2
- Sắp xếp mảng kết quả theo thứ tự giảm dần
- Trả về một đối tượng có các thuộc tính sau:
transformedArray: Mảng cuối cùng sau tất cả các thao tácsum: Tổng của tất cả các số trong mảng cuối cùngaverage: Giá trị trung bình của tất cả các số trong mảng cuối cùng, được làm tròn đến hai chữ số thập phân
Việc làm tròn đến hai chữ số thập phân thường cho ra một số nguyên, vì vậy giá trị trung bình là 15 sẽ được in ra là 15, không phải 15.00. Nếu không có số nào vượt qua bộ lọc, transformedArray sẽ là mảng rỗng, sum là 0 và average là NaN, vì tổng được chia cho độ dài bằng không.
Trong lời giải, hãy dùng các phương thức mảng phù hợp (filter, map, sort, reduce).
Tự làm thử
function chainMaster(numbers) {
// Viết code của bạn ở đây
return {
transformedArray: result,
sum: sum,
average: average
};
}
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