Bài tập vòng lặp for trong 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 eLib sẽ tổng hợp 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.
1. 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
Code mẫu:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script language="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;
}
</script>
<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>
</body>
</html>
2. 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
Code:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script language="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;
}
</script>
<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>
</body>
</html>
3. Bài 3
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ẻ
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
div {
padding: 10px;
margin: 5px;
}
</style>
</head>
<body>
<script language="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";
}
}
}
</script>
<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>
</body>
</html>
Tham khảo thêm
- docx Câu hỏi trắc nghiệm lập trình JavaScript
- doc Bài tập vòng lặp while trong javascript
- doc Bài tập tạo hàm trong Javascript
- doc Bài tập DOM căn bản trong Javascript
- doc Bài tập javascript - Xây dựng menu dropdow
- doc Bài tập Javascript căn bản