for давталт
Программчлалын хамгийн хүчирхэг хэрэгслүүдийн нэг бол давталт (loop). Нэг ажлыг олон удаа хийх шаардлагатай үед давталт ашигладаггүй бол нэг кодыг арван, зуун удаа бичихэд хүрнэ. for давталт нь JavaScript-д хамгийн өргөн хэрэглэгддэг давталтын хэлбэр юм.
for давталтын бүтэц
for (эхлэл; нөхцөл; алхам) {
// давтагдах код
}
Гурван хэсгийг цэгтэй таслалаар ялгана:
- эхлэл — давталт эхлэхэд нэг удаа ажиллана (жишээ нь
let i = 0) - нөхцөл — хэр удаан давтахыг тодорхойлно (
i < 5) - алхам — нэг давталт дуусах бүрт ажиллана (
i++)
for (let i = 0; i < 5; i++) {
console.log(i);
}
// 0
// 1
// 2
// 3
// 4
i++ нь i = i + 1-тэй ижил — i-г нэгээр нэмнэ. Давталт i < 5 нөхцөл худал болох хүртэл, өөрөөр хэлбэл i нь 5 болтол үргэлжилнэ.
Array-г давтан гарах
for давталтын хамгийн нийтлэг хэрэглээ нь array-г бүтнээр нь дайрах явдал юм.
const lessons = ["Хувьсагч", "Тоо", "Мөр", "Boolean", "Нөхцөл"];
for (let i = 0; i < lessons.length; i++) {
console.log(`${i + 1}. ${lessons[i]}`);
}
// 1. Хувьсагч
// 2. Тоо
// 3. Мөр
// 4. Boolean
// 5. Нөхцөл
lessons.length нь array-н элементийн тоог буцаана. lessons[i] нь i дугаартай элементийг авна — array нь 0-ээс эхлэн дугаарлагдана.
for...of — array-н орчин үеийн давталт
Array-г дайрах илүү хялбар хэлбэр бий: for...of. Индексийн тоолол шаардлагагүй бол энийг ашиглах нь цэвэрхэн.
const courses = ["JavaScript", "TypeScript", "Python"];
for (const course of courses) {
console.log(`Сургалт: ${course}`);
}
// Сургалт: JavaScript
// Сургалт: TypeScript
// Сургалт: Python
for...in — object-н түлхүүрүүдийг давтах
Object-н бүх key-г дайрахад for...in ашиглана.
const student = {
name: "Болд",
level: 3,
xp: 420,
};
for (const key in student) {
console.log(`${key}: ${student[key]}`);
}
// name: Болд
// level: 3
// xp: 420
break ба continue
Давталтын урсгалыг удирдахад хоёр тусгай үг байдаг.
break — давталтыг бүрмөсөн зогсоодог:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break; // 5 дээр зогсоно
}
console.log(i);
}
// 0, 1, 2, 3, 4
continue — тухайн давталтыг алгасаж дараагийнх руу үсэрдэг:
for (let i = 0; i < 6; i++) {
if (i === 3) {
continue; // 3-г алгасна
}
console.log(i);
}
// 0, 1, 2, 4, 5
Жишээ: XP нийлбэр тооцоолох
const lessonXP = [10, 10, 10, 20, 10, 30, 10];
let totalXP = 0;
for (const xp of lessonXP) {
totalXP += xp; // totalXP = totalXP + xp
}
console.log(`Нийт XP: ${totalXP}`);
// Нийт XP: 100
Давталт ашиглан долоон хичээлийн XP-г нэгтгэхийг зөвхөн дөрвөн мөрт бичлээ — for давталтын хүч ийм юм.
Дараагийн хичээлд:
while давталтыг судлана — нөхцөл үнэн байх хүртэл давтдаг, for-оос арай өөр зан авиртай давталтыг үзнэ.