Bài 1: Giới thiệu về Trình quản lý quảng cáo

Bài giảng JavaScript: Đối tượng, Mảng và JSON

1. Đối tượng (Object) trong JavaScript

1.1. Khái niệm

  • Đối tượng là tập hợp các thuộc tính (properties) và phương thức (methods).
  • Thuộc tính là các giá trị gán cho đối tượng.
  • Phương thức là các hàm bên trong đối tượng.

1.2. Tạo đối tượng

Có 3 cách tạo đối tượng trong JavaScript:

Cách 1: Sử dụng Object Literal

let person = {
    name: "Anh Phuong",
    age: 25,
    greet: function() {
        console.log("Xin chào, tôi tên là " + this.name);
    }
};
console.log(person.name); // Xuất: Anh Phuong
person.greet(); // Xuất: Xin chào, tôi tên là Anh Phuong

Cách 2: Sử dụng Constructor Function

function Person(name, age) {
    this.name = name;
    this.age = age;
    this.greet = function() {
        console.log("Xin chào, tôi tên là " + this.name);
    };
}
let person1 = new Person("Phuong", 25);
person1.greet();

Cách 3: Sử dụng Class (ES6)

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    greet() {
        console.log("Xin chào, tôi tên là " + this.name);
    }
}
let person2 = new Person("Phuong", 25);
person2.greet();

2. Mảng (Array) trong JavaScript

2.1. Khái niệm

  • Mảng là tập hợp các phần tử được lưu trữ theo chỉ mục.
  • Các phần tử trong mảng có thể là số, chuỗi, đối tượng hoặc mảng khác.

2.2. Tạo mảng

let fruits = ["Táo", "Chuối", "Cam"];
console.log(fruits[0]); // Xuất: Táo

2.3. Các phương thức quan trọng của mảng

let numbers = [1, 2, 3, 4, 5];
numbers.push(6);    // Thêm phần tử vào cuối mảng
numbers.pop();      // Xóa phần tử cuối
numbers.shift();    // Xóa phần tử đầu
numbers.unshift(0); // Thêm phần tử vào đầu
console.log(numbers);

2.4. Lặp qua mảng

let colors = ["Đỏ", "Xanh", "Vàng"];
colors.forEach(color => console.log(color));

3. JSON (JavaScript Object Notation)

3.1. Khái niệm

  • JSON là định dạng dữ liệu nhẹ, dễ đọc và dễ trao đổi giữa các hệ thống.
  • JSON là chuỗi văn bản nhưng có cấu trúc như một đối tượng JavaScript.

3.2. Chuyển đổi giữa Object và JSON

let student = {
    name: "Phuong",
    age: 25,
    courses: ["JavaScript", "C#"]
};

// Chuyển Object thành JSON
let jsonString = JSON.stringify(student);
console.log(jsonString);

// Chuyển JSON thành Object
let studentObj = JSON.parse(jsonString);
console.log(studentObj.name);

Cho một JSON chứa danh sách nhân viên, hãy viết chương trình chuyển đổi JSON thành danh sách đối tượng, ép kiểu dữ liệu phù hợp và hiển thị ra màn hình.

Dữ liệu JSON:

[
    { "id": "101", "name": "Nguyễn Văn A", "age": "25", "salary": "10000000" },
    { "id": "102", "name": "Trần Thị B", "age": "30", "salary": "12000000" },
    { "id": "103", "name": "Lê Văn C", "age": "28", "salary": "11000000" }
]

Yêu cầu:

  1. Viết một hàm parseEmployees(jsonString) để:
    • Chuyển đổi JSON thành danh sách đối tượng.
    • Ép kiểu id, age, salary sang kiểu số (Number).
  2. Hiển thị thông tin nhân viên lên màn hình theo định dạng:
    ID: 101 - Tên: Nguyễn Văn A - Tuổi: 25 - Lương: 10,000,000 VND
    ID: 102 - Tên: Trần Thị B - Tuổi: 30 - Lương: 12,000,000 VND
    ID: 103 - Tên: Lê Văn C - Tuổi: 28 - Lương: 11,000,000 VND
    
  3. Tính tổng lương của 3 các nhân viên

  4. Hiển thị nhân viên có mức lương cao nhất

Gợi ý cách làm

  1. let employees = JSON.parse(jsonString);Chuyển JSON thành object:

  2. toLocaleString(): Định dạng số lương theo cách viết có dấu phân cách (10,000,000)

  3. map(): Duyệt qua từng object trong mảng để ép kiểu id, age, salary sang Number.

  4. console.log(): Hiển thị thông tin nhân viên theo định dạng yêu cầu.

Nộp bài: File html + js hoặc biên soạn trực tiếp trong phần nội dung trả lời