Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Bắt đầu với một thử thách nhỏ

alert('Hello world');

Thực hành sử dụng biến


👉 Tạo biến weight và gán cho nó một giá trị số thể hiện trọng lượng (weight nghĩa là trọng
lượng, cân nặng).

Tạo biến weight, gán giá trị thể hiện cân nặng

Thực hành sử dụng console.log


Tại main.js có sẵn biến language, hãy sử dụng console.log để in giá trị của biến này ra
tab Console trong Dev Tool của trình duyệt.

var language = 'JavaScript';

Thực hành toán tử số học


Vượt qua thử thách này bằng cách tạo biến nextAge để lưu số tuổi tiếp theo được tính từ giá trị
của biến age. Ví dụ: age = 35 thì nextAge sẽ là 36.

var age = 20

Thực hành với toán tử gán


Sử dụng kiến thức về toán tử gán và toán tử số học để tạo các biến a, b, c, d thỏa mãn các yêu
cầu sau đây:

 a là 1 số dương
 b là 1 số âm
 c là kết quả của a + b
 d là kết quả của a - b

Ôn tập toán tử ++ và --
var a = 1;
var b = ++a * a--;

console.log(b); // Output: ?
Hãy cho biết kết quả là bao nhiêu ?

Ôn tập toán tử nối chuỗi


var lastName = 'Bui';
var firstName = 'Long';
var fullName = firstName + lastName;

console.log(fullName) // Output: ?
Hãy cho biết kết quả là bao nhiêu ?

Thực hành nối chuỗi


Hãy vượt qua thử thách này bằng cách tạo ra biến fullName mang giá trị tên đầy đủ, được kết
hợp từ giá trị của 2 biến firstName và lastName.

Lưu ý: Giữa firstName và lastName cần có 1 khoảng trắng (1 dấu space).


var firstName = 'Kiều';
var lastName = 'Trang';

Ôn tập toán tử so sánh


var a = 1;
var b = -1;
var c = 0;
var d = 0;

var e = a <= b;
var f = c === d;
var g = a >= c;

console.log(e, f, g) // Output: ?
Hãy cho biết kết quả là bao nhiêu ?

Thực hành dùng boolean


Để vượt qua thử thách này, hãy tạo biến canBuyAlcohol để thể hiện xem giá trị của biến age có
đủ tuổi mua rượu hay không(?).

Theo luật, người từ 18 tuổi trở lên mới được phép mua rượu.

Số chẵn hay số lẻ
// Số chẵn là số khi chia cho 2 sẽ có phần dư là 0
// Số lẻ là số khi chia cho 2 sẽ có phần dư là 1

// Khai báo biến number, và gán trá trị cho biến number
var number = 13;

// Sử dụng toán tử % để lấy ra phần dư của number khi chia cho 2


// Khai báo biến remian ,và gán phần dư cho biến đặt tên là remain
var remain = number % 2

// Sử dụng toán tử so sánh === để thực hiện so sánh biến remain với 1
// Khai báo biến isOdd, và gán kết quả so sánh cho biến isOdd
var isOdd = remain === 1;

// In giá trị của biến isOdd ra cửa sổ console của trình duyệt
console.log(isOdd) // Output: ?
Hãy cho biết kết quả là bao nhiêu ?

Ôn tập toán tử logical


var a = true;
var b = false;
var c = a || b;
var d = b && c;

console.log(c, d); // Output: ?


Hãy cho biết kết quả là bao nhiêu ?

Bạn còn nhớ typeof không?


var a = '1';
var b = 2;

var c = typeof a;
var d = typeof b;
var e = typeof d;

console.log(c, d, e) // Output: ?
Hãy cho biết kết quả là bao nhiêu ?

Ôn lại kiến thức về hàm


function showMessage(message) {
console.log(message);
}

showMessage("Hi anh em IT!");

Thực hành tạo hàm sum #1


Vượt qua thử thách này bằng cách tạo một hàm tên là sum.

Chỉ cần tạo hàm, không cần viết gì trong phần thân của hàm.

Thực hành tạo hàm triple #1


Vượt qua thử thách này bằng cách tạo một hàm tên là triple.

Chỉ cần tạo hàm, không cần viết gì trong phần thân của hàm.

Thực hành tạo hàm sum #2


Hãy tạo 1 hàm có tên là sum có 2 tham số:

 Tham số thứ 1 là a
 Tham số thứ 2 là b

Thực hành tạo hàm triple #2


Hãy tạo 1 hàm có tên là triple có 1 tham số x.

Thực hành tạo hàm sum #3


Hoàn thành thử thách này bằng cách tạo hàm sum, hàm có 2 tham số a, b và trả về tổng của 2
tham số.

Thực hành dùng hàm sum


Sử dụng hàm sum đã cho, hãy tạo biến result để lưu kết quả của phép cộng 2 số là 20 và 10.

Sau đó, bạn có thể console.log(result) và mở tab Console trong Dev Tool để xem giá trị
của result một cách trực quan.

Thực hành tạo hàm triple #3


Hoàn thành thử thách này bằng cách tạo hàm triple, hàm có 1 tham số x và trả về giá trị gấp 3
lần x. Ví dụ, x = 3 thì hàm triple sẽ trả về 9.
Thực hành dùng hàm triple
Sử dụng hàm triple đã cho, hãy tạo biến result để lưu kết quả của 10 * 3.

Sau đó, bạn có thể console.log(result) và mở tab Console trong Dev Tool để xem giá trị
của result một cách trực quan.

Thực hành tạo các loại hàm


Tạo 2 hàm declarationFunction và expressionFunction thỏa mãn các yêu cầu sau đây:

1. declarationFunction là 1 declaration function


2. expressionFunction là 1 expression function

Thực hành với chuỗi #1


Cho trước một biến email, hãy gán giá trị cho nó là một chuỗi.

Thực hành với chuỗi #2


Cho trước chuỗi coursesStr chứa tên các khóa học cách nhau bởi dấu ,.

Bạn hãy viết hàm stringToArray nhận vào 1 tham số là str và trả về 1 mảng chứa tên các khóa
học.

Gợi ý: Bạn có thể sử dụng phương thức split đã được học ở bài trước.
var coursesStr = 'HTML & CSS, JavaScript, ReactJS';

function strToArray(str) {

// Expected results
console.log(strToArray(coursesStr))
// Output: ['HTML & CSS', 'JavaScript', 'ReactJS']

Hàm lấy độ dài chuỗi


Để vượt qua thử thách này, bạn hãy hoàn thành hàmgetContentLength. Hàm này sẽ trả về độ
dài của tham số content.

function getContentLength(content) {

// Mở tab Console để xem kết quả trực quan


console.log(getContentLength('JavaScript'));
console.log(getContentLength('Hello World'));

Chuyển đổi sang chữ in hoa


Hãy tạo hàm getUpperCaseName có 1 tham số là name, hàm này sẽ trả về phiên bản chữ viết hoa
của giá trị mà nó nhận được từ name.

// Expected results:
console.log(getUpperCaseName("Nguyen van a")) // "NGUYEN VAN A"
console.log(getUpperCaseName("nGuyen vAn C")) // "NGUYEN VAN C"

Tạo một biến mang giá trị số


Hãy khai báo biến year và gán cho nó một giá trị số nguyên.

Viết hàm kiểm tra kiểu number #1


Để vượt qua thử thách này, hãy thực hiện theo các yêu cầu sau:
 Tạo hàm isNumber, hàm này dùng với mục đích kiểm tra xem một giá trị có phải là 1 số
hay không
 Hàm isNumber có 1 tham số, hãy đặt tên nó là value
 Khi value có kiểu số, hàm sẽ trả về true, ngược lại trả về false

Thực hành tạo array #1


Tạo biến games với giá trị là 1 array, array này có ít nhất 3 phần tử là tên của các games mà bạn
biết.

Thực hành tạo array #2


Tạo biến numbers và gán cho nó 1 array, array này có ít nhất 3 phần tử là các giá trị số.

Làm việc với mảng #1


Cho trước hàm joinWithCharacter có 2 tham số là array và charactor, hãy hoàn thành phần
nội dung hàm sao cho hàm trả về 1 chuỗi là kết quả của việc nối từng phần tử của mảng
với charactor.

function joinWithCharacter(array, charactor) {

// Ví dụ khi sử dụng
var cars = ['Honda', 'Mazda', 'Mercedes'];

var result = joinWithCharacter(cars, ' - ');

console.log(result); // Expected: "Honda - Mazda - Mercedes"

Làm việc với mảng #2


Để vượt qua thử thách này, hãy tạo hàm getLastElement có 1 tham số (chúng ta sẽ gọi hàm này
và luôn truyền đối số là 1 array), hàm này sẽ trả về phần tử cuối cùng trong mảng.

// Viết hàm tại đây


function getLastElement(array){

// Ví dụ sử dụng
var animals = ['Monkey', 'Tiger', 'Elephant'];
var result = getLastElement(animals);

console.log(result); // Expected: "Elephant"


console.log(animals); // Expected: ['Monkey', 'Tiger', 'Elephant']

Làm việc với mảng #3


Để vượt qua thử thách này, hãy tạo hàm getFirstElement có 1 tham số (chúng ta sẽ gọi hàm
này và luôn truyền đối số là 1 array), hàm này sẽ trả về phần tử đầu tiên trong mảng.

// Viết hàm tại đây


function getFirstElement(array){
return array[0];
}

// Ví dụ sử dụng
var animals = ['Monkey', 'Tiger', 'Elephant'];
var result = getFirstElement(animals);

console.log(result); // Expected: "Monkey"


console.log(animals); // Expected: ['Monkey', 'Tiger', 'Elephant']

Thử thách khó, dùng If/else


Để vượt qua thử thách này, hãy hoàn thành hàm cho trước để đáp ứng các yêu cầu sau:

1. Khi a chia hết cho 3 thì return về 1


2. Khi a chia hết cho 5 thì return về 2
3. Khi a chia hết cho 15 thì return về 3

Tạo danh sách số ngẫu nhiên


Để vượt qua thử thách này, bạn cần kết hợp nhiều kiến thức đã học như: làm việc với array, đối
tượng Math và loop.

👉 Hãy tạo hàm getRandNumbers có 3 tham số là min, max, length. Hàm này sẽ trả về một mảng
gồm length phần tử, các giá trị trong mảng là số ngẫu nhiên, giá trị trong khoảng từ min tới max.

Gợi ý: Math.random() * (max - min) + min là cách tạo ra 1 số ngẫu nhiên trong khoảng min
- max.
// Làm bài

/**
* Hết sức lưu ý: Hãy suy nghĩ kỹ để đảm bảo vòng lặp (loop)
* luôn có điểm dừng, trình duyệt của bạn sẽ bị treo
* nếu vòng lặp không có điểm dừng.
*
* VD 1: for (var i = 0; i < 100; i--) // i++ mới đúng
* VD 2: for (var i = 100; i >= 0; i++) // i-- mới đúng
* là 2 vòng lặp không có điểm dừng (lặp vô hạn)
*
* => Treo trình duyệt!!!
*/

Tính tổng các phần tử là số của mảng


Cho trước mảng numbers, hãy viết hàm getTotal trả về tổng giá trị các phần tử của mảng.
function getTotal(arr) {

// Expected results
// getTotal([1, 2, 3]) // Output: 6
// getTotal([4, 5, -3]) // Output: 6
// getTotal([4, 5, 3, 5]) // Output: 17

Tính tổng giá trị đơn hàng


Ở bài này, chúng ta sẽ viết chương trình để tính tổng giá trị của 1 đơn hàng.

Cho trước mảng orders là danh sách chứa các khóa học, các mặt hàng này được thể hiện dưới
dạng object và đều có 1 key là price để thể hiện giá trị của mặt hàng đó.

Bạn hãy hoàn thành hàm getTotal để tính được tổng giá trị của đơn hàng.

var orders = [
{
name: 'Khóa học HTML - CSS Pro',
price: 3000000
},
{
name: 'Khóa học Javascript Pro',
price: 2500000
},
{
name: 'Khóa học React Pro',
price: 3200000
}
]

// Expected results:
getTotal(orders) // Output: 8700000

You might also like