Menu
CoddyTech

Ô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.

challenge icon

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:

  1. Chỉ giữ lại các số chia hết cho 3
  2. Nhân mỗi số còn lại với 2
  3. Sắp xếp mảng kết quả theo thứ tự giảm dần
  4. 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ác
    • sum: Tổng của tất cả các số trong mảng cuối cùng
    • average: 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

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