Array
សេចក្តីផ្តើម
Array គឺជា object ពិសេសក្នុង JavaScript ដែលប្រើសម្រាប់រក្សាទុកតម្លៃច្រើននៅក្នុងអថេរតែមួយ។ Array អាចមានតម្លៃប្រភេទផ្សេងៗគ្នា។
ហេតុអ្វីត្រូវប្រើ Array?
- រក្សាទុកទិន្នន័យច្រើនក្នុងអថេរតែមួយ
- គ្រប់គ្រងទិន្នន័យបានងាយស្រួល
- មាន methods ច្រើនសម្រាប់ដំណើរការទិន្នន័យ
- អាចផ្លាស់ប្តូរទំហំបានស្វ័យប្រវត្តិ (dynamic size)
លក្ខណៈពិសេសរបស់ Array
// Array អាចមានប្រភេទផ្សេងៗគ្នា
let លាយ = [1, "សួស្តី", true, {ឈ្មោះ: "សុខ"}, [1, 2]];
// Array មានទំហំដែលអាចផ្លាស់ប្តូរបាន
let អារេ = [1, 2, 3];
អារេ.push(4); // បន្ថែមធាតុថ្មី
អារេ.length; // 4
// Array index ចាប់ផ្តើមពី 0
let ផ្លែឈើ = ["ផ្លែប៉ោម", "ចេក", "ក្រូចពោធិ៍សាត់"];
ផ្លែឈើ[0]; // "ផ្លែប៉ោម" (ធាតុទី១)
ផ្លែឈើ[2]; // "ក្រូចពោធិ៍សាត់" (ធាតុទី៣)
បង្កើត Array
វិធី | ឧទាហរណ៍ | ការពិពណ៌នា |
---|---|---|
Array Literal | [1, 2, 3] | វិធីណែនាំ (ងាយស្រួល និងច្បាស់លាស់) |
Array Constructor | new Array(1, 2, 3) | មិនណែនាំ (អាចមានភាពច្របូកច្របល់) |
Empty Array | [] | Array ទទេ (សម្រាប់បន្ថែមធាតុពេលក្រោយ) |
Array.of() | Array.of(1, 2, 3) | បង្កើត Array ពីធាតុដែលបានផ្តល់ |
Array.from() | Array.from("abc") | បង្កើត Array ពី iterable object |
ឧទាហរណ៍ការប្រើប្រាស់
// បញ្ជីឈ្មោះសិស្ស
let សិស្ស = ["សោភា", "ដារ៉ា", "ស្រីពៅ", "រក្សា"];
// បញ្ជីពិន្ទុ
let ពិន្ទុ = [85, 92, 78, 95];
// ព័ត៌មានផលិតផល (ប្រភេទលាយ)
let ផលិតផល = {
ឈ្មោះ: "កុំព្យូទ័រយួរដៃ",
តម្លៃ: [500, 600, 700],
មាន: true,
ស្លាក: ["អេឡិចត្រូនិច", "កុំព្យូទ័រ"]
};
// Array 2D (ម៉ាទ្រីស)
let ម៉ាទ្រីស = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
Array Properties & Access
let fruits = ["Apple", "Banana", "Orange"];
fruits.length; // 3
fruits[0]; // "Apple"
fruits[1]; // "Banana"
Array index ចាប់ផ្តើមពី 0
Array Methods - Add/Remove
let arr = [1, 2, 3];
arr.push(4); // Add to end: [1, 2, 3, 4]
arr.pop(); // Remove from end: [1, 2, 3]
arr.unshift(0); // Add to start: [0, 1, 2, 3]
arr.shift(); // Remove from start: [1, 2, 3]
Methods សម្រាប់បន្ថែម និងដកធាតុ
Array Methods - Transform
let arr = [1, 2, 3];
arr.map(x => x * 2); // [2, 4, 6]
arr.filter(x => x > 1); // [2, 3]
arr.reduce((a, b) => a + b); // 6
arr.forEach(x => console.log(x));
Methods សម្រាប់ប្រែក្លាយ Array
Array Methods - Search
let arr = [1, 2, 3, 2];
arr.indexOf(2); // 1
arr.lastIndexOf(2); // 3
arr.includes(2); // true
arr.find(x => x > 1); // 2
arr.findIndex(x => x > 1); // 1
Methods សម្រាប់ស្វែងរក
Array Methods - Sort & Reverse
let arr = [3, 1, 2];
arr.sort(); // [1, 2, 3]
arr.reverse(); // [3, 2, 1]
arr.sort((a, b) => b - a); // Sort descending
Methods សម្រាប់តម្រៀប
Array Methods - Join & Slice
let arr = ["a", "b", "c"];
arr.join("-"); // "a-b-c"
arr.slice(0, 2); // ["a", "b"]
arr.concat([1, 2]); // ["a", "b", "c", 1, 2]
arr.toString(); // "a,b,c"
Methods សម្រាប់បន្សាំ និងកាត់
Best Practices
- ប្រើ array literal [] ជំនួស new Array()
- ប្រើ map, filter, reduce ជំនួស loops
- ពិនិត្យ length មុនពេល access index
- ប្រើ spread operator [...arr] សម្រាប់ copy
Interactive Examples
- Array Manager
- Array Push/Pop Demo
- Array Map Demo
- Array Filter Demo
- Array Sort Demo
- Array Join Demo
សង្ខេប
- Array រក្សាទុកតម្លៃច្រើននៅក្នុងអថេរតែមួយ
- Index ចាប់ផ្តើមពី 0
- Add/Remove: push, pop, unshift, shift
- Transform: map, filter, reduce, forEach
- Search: indexOf, includes, find
- Sort: sort, reverse