JavaScript үндэс / for давталт

for давталт

Программчлалын хамгийн хүчирхэг хэрэгслүүдийн нэг бол давталт (loop). Нэг ажлыг олон удаа хийх шаардлагатай үед давталт ашигладаггүй бол нэг кодыг арван, зуун удаа бичихэд хүрнэ. for давталт нь JavaScript-д хамгийн өргөн хэрэглэгддэг давталтын хэлбэр юм.

for давталтын бүтэц

javascript
for (эхлэл; нөхцөл; алхам) {
  // давтагдах код
}

Гурван хэсгийг цэгтэй таслалаар ялгана:

  • эхлэл — давталт эхлэхэд нэг удаа ажиллана (жишээ нь let i = 0)
  • нөхцөл — хэр удаан давтахыг тодорхойлно (i < 5)
  • алхам — нэг давталт дуусах бүрт ажиллана (i++)
javascript
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-г бүтнээр нь дайрах явдал юм.

javascript
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. Индексийн тоолол шаардлагагүй бол энийг ашиглах нь цэвэрхэн.

javascript
const courses = ["JavaScript", "TypeScript", "Python"];

for (const course of courses) {
  console.log(`Сургалт: ${course}`);
}
// Сургалт: JavaScript
// Сургалт: TypeScript
// Сургалт: Python

for...in — object-н түлхүүрүүдийг давтах

Object-н бүх key-г дайрахад for...in ашиглана.

javascript
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 — давталтыг бүрмөсөн зогсоодог:

javascript
for (let i = 0; i < 10; i++) {
  if (i === 5) {
    break; // 5 дээр зогсоно
  }
  console.log(i);
}
// 0, 1, 2, 3, 4

continue — тухайн давталтыг алгасаж дараагийнх руу үсэрдэг:

javascript
for (let i = 0; i < 6; i++) {
  if (i === 3) {
    continue; // 3-г алгасна
  }
  console.log(i);
}
// 0, 1, 2, 4, 5

Жишээ: XP нийлбэр тооцоолох

javascript
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-оос арай өөр зан авиртай давталтыг үзнэ.