-
Arrays: Viết function tạo và truy cập mảng
Yêu cầu: Viết hàm createColors() trả về mảng gồm các màu "red", "green", "blue".
Đầu vào: Không có
Ví dụ: createColors()
Kết quả ra: ["red", "green", "blue"]
Yêu cầu: Viết hàm getFirstAndLast(arr) trả về mảng gồm phần tử đầu và cuối của mảng truyền vào.
Đầu vào: arr là một mảng bất kỳ
Ví dụ: getFirstAndLast([10, 20, 30, 40])
Kết quả ra: [10, 40]
-
Array Methods: Viết function thêm, xóa phần tử
Yêu cầu: Viết hàm addAndRemove(nums) nhận mảng số, thêm 4 vào cuối, xóa phần tử đầu, trả về mảng mới.
Đầu vào: nums là một mảng số
Ví dụ: [1, 2, 3]
Kết quả ra: Mảng mới sau khi đã thêm 4 vào cuối và xóa phần tử đầu
Ví dụ kết quả: [2, 3, 4]
-
Array Search: Viết function tìm kiếm
Yêu cầu: Viết hàm findIndexAndCheck(arr, value) trả về vị trí của value trong mảng và kiểm tra mảng có chứa value không.
Đầu vào: arr là mảng bất kỳ, value là giá trị cần tìm
Ví dụ: findIndexAndCheck([5,8,12,20], 12)
Kết quả ra: Object có 2 thuộc tính: index (vị trí value trong mảng, -1 nếu không có), exists (true/false)
Ví dụ kết quả: { index: 2, exists: true }
-
Sorting Arrays: Viết function sắp xếp mảng số lớn và mảng học sinh
Cho sẵn 2 biến dữ liệu sau:
const numbers = [34, 12, 87, 45, 23, 56, 78, 90, 11, 67, 29, 38, 49, 53, 61, 72, 84, 19, 25, 99];
const students = [
{name: "Nguyen Van A", age: 18},
{name: "Le Thi B", age: 20},
{name: "Tran Van C", age: 17},
{name: "Pham Thi D", age: 19},
{name: "Bui Van E", age: 18}
];
Yêu cầu: Viết hàm sortNumbers(arr, asc=true) sắp xếp mảng numbers tăng hoặc giảm dần.
Đầu vào: arr là biến numbers đã cho, asc là boolean (true: tăng dần, false: giảm dần)
Ví dụ: sortNumbers(numbers, true)
Kết quả ra: Mảng số đã sắp xếp
Ví dụ kết quả: [11, 12, ...]
Yêu cầu: Viết hàm sortStudentsByName(arr) và sortStudentsByAge(arr) để sắp xếp mảng students theo tên hoặc tuổi.
Đầu vào: arr là biến students đã cho
Ví dụ: sortStudentsByName(students)
Kết quả ra: Mảng học sinh đã sắp xếp theo tên hoặc tuổi
Ví dụ kết quả: [{name: "Bui Van E", age: 18}, ...]
-
Array Iteration: Viết function tính tổng mảng
Yêu cầu: Viết hàm sumArray(arr) trả về tổng các phần tử của mảng.
Đầu vào: arr là mảng số
Ví dụ: sumArray([2, 4, 6])
Kết quả ra: Tổng các phần tử của mảng
Ví dụ kết quả: 12
-
Array Const: Viết function sửa phần tử mảng const
Yêu cầu: Viết hàm replaceFirstFruit(arr, newName) thay đổi phần tử đầu tiên của mảng const fruits thành newName.
Đầu vào: arr là mảng const, newName là chuỗi
Ví dụ: replaceFirstFruit(["apple", "banana"], "orange")
Kết quả ra: Mảng sau khi đã thay đổi phần tử đầu tiên
Ví dụ kết quả: ["orange", "banana"]
-
JavaScript JSON: Viết function chuyển object thành JSON và ngược lại
Yêu cầu: Viết hàm toJSON(obj) chuyển object thành chuỗi JSON, và hàm fromJSON(str) chuyển chuỗi JSON thành object.
Đầu vào: obj là object, str là chuỗi JSON
Ví dụ: toJSON({name: "An", age: 20}), fromJSON('{"name":"An","age":20}')
Kết quả ra: toJSON trả về chuỗi JSON, fromJSON trả về object
Ví dụ kết quả: toJSON({name: "An", age: 20}) // Kết quả: '{"name":"An","age":20}'
fromJSON('{"name":"An","age":20}') // Kết quả: {name: "An", age: 20}
-
Nhập và sắp xếp danh sách học sinh
Yêu cầu: Viết hàm addStudent(arr, name, age) để thêm object học sinh vào mảng. Viết sẵn hàm sortStudents(arr, by) để sắp xếp theo "name" hoặc "age". Khi cần thì gọi hàm tương ứng.
Đầu vào: arr là mảng học sinh, name là chuỗi, age là số, by là "name" hoặc "age"
Ví dụ: addStudent(students, "Nguyen Van A", 18), sortStudents(students, "age")
Kết quả ra: Mảng học sinh đã thêm mới hoặc đã sắp xếp
Ví dụ kết quả: sortStudents([{name: "B", age: 20}, {name: "A", age: 18}], "name") // Kết quả: [{name: "A", age: 18}, {name: "B", age: 20}]
-
Array Search: Lọc các số chia hết cho 4
Cho mảng số sau: [12, 7, 16, 25, 8, 33, 40, 21, 4, 18].
Yêu cầu: Viết hàm findDivisibleBy4(arr) trả về mảng gồm các số chia hết cho 4 trong arr.
Đầu vào: arr là mảng số.
Ví dụ: findDivisibleBy4([12, 7, 16, 25, 8, 33, 40, 21, 4, 18])
Kết quả ra: [12, 16, 8, 40, 4]
-
Object & Array Search: Tìm kiếm và sắp xếp học sinh
Cho mảng học sinh sau:
const students = [
{ name: "An", class: 12, math: 9 },
{ name: "Bình", class: 11, math: 7.5 },
{ name: "Cường", class: 12, math: 8.2 },
{ name: "Dũng", class: 10, math: 6 },
{ name: "Hà", class: 12, math: 7.8 }
];
1. Viết hàm findGrade12(arr) trả về mảng các học sinh lớp 12.
2. Viết hàm findMathAbove8(arr) trả về mảng các học sinh có điểm toán trên 8.
3. Viết hàm sortStudentsByName(arr) trả về mảng học sinh đã sắp xếp theo tên (A-Z).
Đầu vào: arr là mảng object học sinh như trên.
Ví dụ:
findGrade12(students) // Kết quả: [{ name: "An", class: 12, math: 9 }, { name: "Cường", class: 12, math: 8.2 }, { name: "Hà", class: 12, math: 7.8 }]
findMathAbove8(students) // Kết quả: [{ name: "An", class: 12, math: 9 }, { name: "Cường", class: 12, math: 8.2 }]
sortStudentsByName(students) // Kết quả: [{ name: "An", ... }, { name: "Bình", ... }, { name: "Cường", ... }, { name: "Dũng", ... }, { name: "Hà", ... }]
-
Array Methods & Search: Tìm và xóa phần tử trong mảng
Cho mảng số sau: [5, 12, 8, 20, 33, 7, 18, 25, 40, 16, 3, 27].
Yêu cầu: Viết hàm findAndRemove(arr, value) để tìm value trong mảng arr. Nếu tìm thấy, hãy xóa giá trị đó khỏi mảng và trả về mảng mới.
Đầu vào: arr là mảng số, value là số cần tìm.
Ví dụ: findAndRemove([5, 12, 8, 20, 33, 7, 18, 25, 40, 16, 3, 27], 20)
Kết quả ra: [5, 12, 8, 33, 7, 18, 25, 40, 16, 3, 27] (đã xóa số 20)