Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [JavaScript] Merge cấu hình đa cấp với spread + default

    Cho cấu hình mặc định:

    const DEFAULTS = { theme: 'light', layout: { sidebar: true, width: 1024 }, features: { search: true, chat: false } };
    

    Đọc 4 dòng input: theme (hoặc -), sidebar (true/false hoặc -), width (số hoặc -), chat (true/false hoặc -). Tạo object user chỉ chứa các field do người dùng cung cấp (bỏ qua -). Dùng spread + destructuring có default để MERGE 2 CẤP: top-level merge bằng {...DEFAULTS, ...user}, và 2 nhánh con layout/features cũng phải merge thay vì ghi đè (tức { ...DEFAULTS.layout, ...(user.layout || {}) }). In ra một dòng theo format: <theme>|<sidebar>|<width>|<search>|<chat>.

    • Định dạng đầu vào:

      4 dòng: theme, sidebar, width, chat (mỗi cái có thể là -).

    • Ràng buộc đầu vào:

      width là số nguyên dương nếu khác -.

    • Định dạng đầu ra:

      Chuỗi theme|sidebar|width|search|chat.

    Đang tải editor...