Bài tập vòng lặp for trong Javascript
Trong bài này mình sẽ tổng hợp một số bài tập về vòng lặp for trong javascript để các bạn ôn tập nhé.
Vòng lặp for đóng vai trò quan trọng khi học lập trình với Javascript, nên việc nắm vững nó là điều bắt buộc. Vì vậy, mình sẽ đưa ra một số bài tập liên quan tới vòng lặp và giải sẵn cho các bạn tham khảo.
Nhưng trước khi xem bài giải thì bạn nên tự giải trước đi nhé, điều đó giúp bạn nâng cao khả năng vận đông tư duy trong lập trình. Ok, ta bắt đầu thôi nhé.
1. Bài tập vòng lặp for trong javascript có lời giải
Sau đây là danh sách các bài tập kèm theo lời giải tham khảo. Bạn hãy click vào xem demo, sau đó tự giải nhé. Nếu giải không được thì hãy xem bài giải.
Bài viết này được đăng tại [free tuts .net]
Bài 01: Xây dựng chương trình có một ô Input, một button. Khi click vào button thì in các số từ 1 tới giá trị của ô input
<form method="get" action=""> Nhập số: <input type="text" id="number" value="0"/> <input type="button" value="In kết quả" onclick="print_number()"/> </form> <div id="result"> </div>
Trong đó:
div#result
dùng để hiển thị kết quả.input#number
là số người dùng nhập vào.- Khi click vào button thì gọi đến hàm
print_number()
.
Bây giờ cần xây dụng hàm print_number()
.
function print_number() { // Lấy number var number = document.getElementById("number").value; // Ép number sang kiểu INT number = parseInt(number); // Lặp để in kết quả var html = ''; for (var i = 1; i <= number; i++){ html += i + ' <br/>'; } document.getElementById("result").innerHTML = html; }
Bài 02: Viết chương trình có một ô input, một button. Khi click vào button thì in ra các số nguyên tố từ 1 tới giá trị của ô input
Với bài này ta phải vận dụng hàm kiểm tra số nguyên tố nên bạn quay lại bài đó và xem nhé.
<form method="get" action=""> Nhập số: <input type="text" id="number" value="0"/> <input type="button" value="In kết quả" onclick="print_snt()"/> </form> <div id="result"> </div>
Phần này tương tự như ví dụ 1 nên mình không giải thích gì thêm.
// hàm kiểm tra số nguyên tố function kiem_tra_snt(n) { // Biến cờ hiệu var flag = true; // Nếu n bé hơn 2 tức là không phải số nguyên tố if (n < 2) { flag = false; } else if (n == 2) { flag = true; } else if (n % 2 == 0) { flag = false; } else { // lặp từ 3 tới n-1 với bước nhảy là 2 (i+=2) for (var i = 3; i <= Math.sqrt(n); i += 2) { if (n % i == 0) { flag = false; break; } } } return flag; } // Hàm in ra các số nguyên tố từ 1 tới n function print_snt() { // Lấy number var number = document.getElementById("number").value; // Ép number sang kiểu INT number = parseInt(number); // Lặp để in kết quả var html = ''; for (var i = 1; i <= number; i++) { // Nếu là số nguyên tố thì in ra if (kiem_tra_snt(i)){ html += i + ' <br/>'; } } document.getElementById("result").innerHTML = html; }
Bài 03: Cho 10 thẻ div, hãy viết chương trình khi click vào button thì sẽ đổi màu cho các thẻ div. Nếu div nào vị trí chẵn thì background màu đỏ và lẽ thì background màu xanh.
Đối với bài này chúng ta sẽ lấy danh sách các thẻ div, sau đó sử dụng vòng lặp for để kiểm tra, nếu thẻ nào nằm vị trí chẵn thì đổi thành màu đỏ và vị trí lẽ đổi thành màu xanh.
Vì kết quả trả về sẽ là một mảng bắt đầu bằng 0 nên khi kiểm tra chẵn lẽ ta phải cộng thêm một nữa:
- (i+1) % 2 == 0 là số chẵn
- (i+1) % 2 != 0 là số lẻ
<div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <div>Thẻ thứ 1</div> <button onclick="change_backgroud()">Change background</button>
Tạo chút CSS cho dễ nhìn
<style type="text/css"> div { padding: 10px; margin: 5px; } </style>
function change_backgroud() { var divs = document.getElementsByTagName("div"); for (var i = 0; i < divs.length; i++){ // Vị trí chẵn => màu đỏ if ((i + 1) % 2 == 0){ divs[i].style.background = "red"; } else { // Vị trí lẽ => màu xanh divs[i].style.background = "blue"; } } }
2. Một số bài tập liên quan đến vòng lặp for trong javascript
Trong phần 1 mình chỉ đưa ra 3 ví dụ đơn giản nhất. Bây giờ mình xin gửi một vài link bài tập javascript có liên quan đến vòng lặp for.
-
Xem thêm tại bài vòng lặp for.
3. Lời kết
Qua 3 bài tập về vòng lặp for trong javascript chắc bạn đã nắm vững được cách sử dụng vòng lặp for để giải các bài tập liên quan rồi nhỉ?
Khi làm dự án thì sẽ bạn gặp nhiều tình huống phức tạp và bạn xử lý lắc léo chứ không cứng nhắc như các ví dụ đó. Vì vậy, bạn không nên chủ quan, hãy luôn rèn luyện kỹ năng lập trình để sau này không bị hỏng kiến thức.