JavaScript үндэс / Массив
Массив
Өнөөг хүртэл нэг хувьсагч — нэг утга гэсэн зарчмаар ажилласан. Харин бодит программд нэг биш, олон утгыг нэгэн зэрэг хадгалах шаардлага байдаг — сурагчдын нэрсийн жагсаалт, хичээлийн оноонууд, курсийн slug-ууд. Үүнд массив (array) ашиглана.
Массивыг дугаарлагдсан хайрцгуудын эгнээ гэж бодоорой. Хайрцаг бүр нэг утга хадгалж, 0-ээс эхлэн дугаарлагдана.
Массив үүсгэх
javascript
// Хоосон массив
const empty = [];
// Утгатай массив
const lessons = ["Хувьсагч", "Тоо", "Мөр", "Boolean"];
const scores = [88, 72, 95, 61, 84];
const mixed = ["Болд", 25, true, null]; // Янз бүрийн төрөл нэгд байж болно
Массивийн элементэд индексээр хандана. Индекс нь 0-ээс эхэлдгийг сайн санаарай.
javascript
const courses = ["JavaScript", "TypeScript", "Python"];
console.log(courses[0]); // "JavaScript" — эхний элемент
console.log(courses[1]); // "TypeScript" — хоёрдахь элемент
console.log(courses[2]); // "Python" — гуравдахь элемент
console.log(courses[3]); // undefined — байхгүй индекс
Нийтлэг шинж чанар ба методууд
length — элементийн тоо:
javascript
const scores = [88, 72, 95, 61, 84];
console.log(scores.length); // 5
console.log(scores[scores.length - 1]); // 84 — сүүлийн элемент
Элемент нэмэх:
javascript
const students = ["Болд", "Номин"];
students.push("Дорж"); // Сүүлд нэмнэ
console.log(students); // ["Болд", "Номин", "Дорж"]
students.unshift("Энх"); // Эхэнд нэмнэ
console.log(students); // ["Энх", "Болд", "Номин", "Дорж"]
Элемент хасах:
javascript
const fruits = ["алим", "гүйлс", "жүрж", "лийр"];
fruits.pop(); // Сүүлийнхийг хасна
console.log(fruits); // ["алим", "гүйлс", "жүрж"]
fruits.shift(); // Эхнийхийг хасна
console.log(fruits); // ["гүйлс", "жүрж"]
Массив хайх ба шалгах
javascript
const languages = ["JavaScript", "TypeScript", "Python", "Go"];
// includes — агуулж байна уу?
console.log(languages.includes("Python")); // true
console.log(languages.includes("Rust")); // false
// indexOf — байрлалыг олно (олдохгүй бол -1)
console.log(languages.indexOf("TypeScript")); // 1
console.log(languages.indexOf("Java")); // -1
// find — нөхцөлд тохирох эхний элементийг олно
const scores = [45, 72, 88, 55, 91];
const firstPass = scores.find((score) => score >= 70);
console.log(firstPass); // 72
Массив нэгтгэх ба хуулах
javascript
const front = ["HTML", "CSS", "JavaScript"];
const back = ["Node.js", "Python", "Go"];
// concat — нэгтгэнэ (шинэ массив үүсгэнэ)
const all = front.concat(back);
console.log(all);
// ["HTML", "CSS", "JavaScript", "Node.js", "Python", "Go"]
// Spread оператор — илүү орчин үеийн хэлбэр
const combined = [...front, ...back];
console.log(combined); // адил үр дүн
// slice — хэсгийг хуулна
const beginner = all.slice(0, 3); // 0-ээс 3 (3 орохгүй)
console.log(beginner); // ["HTML", "CSS", "JavaScript"]
Массивыг давтах
javascript
const lessons = [
{ title: "Хувьсагч", xp: 10 },
{ title: "Функц", xp: 20 },
{ title: "Closure", xp: 30 },
];
// forEach — бүх элементэд үйлдэл хийнэ, утга буцаадаггүй
lessons.forEach((lesson, index) => {
console.log(`${index + 1}. ${lesson.title} — ${lesson.xp} XP`);
});
// 1. Хувьсагч — 10 XP
// 2. Функц — 20 XP
// 3. Closure — 30 XP
// Нийт XP
let totalXP = 0;
lessons.forEach((lesson) => {
totalXP += lesson.xp;
});
console.log(`Нийт XP: ${totalXP}`); // Нийт XP: 60
Дараагийн хичээлд:
Массивын хамгийн хүчирхэг методуудыг судлана — map, filter, reduce ашиглан массивыг хэрхэн хувиргах, шүүх, нэгтгэхийг үзнэ.