Bài tập vòng lặp for trong Javascript - Bài tập Javascript
Vòng lặp for đóng vai trò quan trọng khi 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ẽ 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 tham khảo bài giải bạn hãy tự giải cho mình nhé bằng cách XEM DEMO và đăng nhập vào ...
Vòng lặp for đóng vai trò quan trọng khi 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ẽ 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 tham khảo bài giải bạn hãy tự giải cho mình nhé bằng cách XEM DEMO và đăng nhập vào hệ thống hỏi đáp online để đăng bài giải. Nếu bạn có cách giải khác hay hơn thì hãy góp ý ở trang hỏi đáp luôn nhé.
Trong các ví dụ dưới đây có sử dụng các kiến thức như sau:
- vòng lăp for
- lệnh if else
- hàm trong javascript
- DOM Element
- DOM CSS
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.
Input
, một button
. Khi click vào button
thì in các số từ 1 tới giá trị của ô input
XEM DEMO
HTML:
<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àmprint_number()
.
Bây giờ cần xây dụng hàm print_number()
.
Javascript:
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; }
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é.
XEM DEMO
HTML: phần này tương tự như ví dụ 1 nên mình không giải thích gì thêm
<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>
Javascript:
// 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; }
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ẻ
XEM DEMO
HTML:
<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>
CSS: tạo chút CSS cho dễ nhìn
<style type="text/css"> div { padding: 10px; margin: 5px; } </style>
Javascript:
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. 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 project thì sẽ gặp nhiều tình huống phức tạp và cần bạn xử lý lắc léo chứ không cứng nhắc như các ví dụ đó nên bạn đừng chủ quan, nhưng dù sao nếu hiểu được cả ba bài tập đó coi như bạn OK rồi đấy.