Cấp độ 8.8 Sách bài tập JavaScript

Задание 1

Cho trước hai phần tử chọn (select). Ở phần tử chọn thứ nhất hiển thị các quốc gia. Hãy làm sao để ở phần tử chọn thứ hai hiển thị các thành phố thuộc quốc gia đã chọn.

Задание 2

Cho trước một ô nhập (input) và một nút bấm. Một số được nhập vào ô nhập. Khi nhấp vào nút, hãy kiểm tra xem số này có phải là số hoàn hảo (perfect number) hay không.

Задание 3

Cho một danh sách sự kiện trong các tháng nhất định, được lưu trữ trong cấu trúc sau:

javascriptlet events = [
  {
    date:  '2019-12'
    event: 'name1'
  },
  {
    date:  '2019-12'
    event: 'name2'
  },
  {
    date:  '2019-11'
    event: 'name3'
  },
  {
    date:  '2019-11'
    event: 'name4'
  },
  {
    date:  '2020-10'
    event: 'name5'
  },
  {
    date:  '2020-10'
    event: 'name6'
  },
  {
    date:  '2020-11'
    event: 'name5'
  },
  {
    date:  '2020-11'
    event: 'name6'
  },
  {
    date:  '2020-12'
    event: 'name7'
  },
  {
    date:  '2020-12'
    event: 'name8'
  },
  {
    date:  '2020-12'
    event: 'name9'
  },
]

Viết đoạn mã chuyển đổi cấu trúc dữ liệu thành dạng như sau:

javascript{
  2019: {
    11: [mảng sự kiện],
    12: [mảng sự kiện],
  }
  2020: {
    10: [mảng sự kiện],
    11: [mảng sự kiện],
    12: [mảng sự kiện],
  }
}