Iteration (Looping)
Iteration (Looping) គឺជាការបន្តអនុវត្តកូដម្តងហើយម្តងទៀតលើទិន្នន័យដូចជា arrays, objects, strings ឬ collections ផ្សេងៗ។ វាជាចំណូលដ៏សំខាន់ក្នុង JavaScript ដើម្បីធ្វើការប្រើប្រាស់ទិន្នន័យដដែលៗដោយស្វ័យប្រវត្តិ។
វាមានដូចជា៖ [for, while, do...while], [forEach(), map(), filter(), reduce()],[for...in, for...of]
- ជា pre-test loop ដែលមានន័យថា វាធ្វើការត្រួតពិនិត្យលើលក្ខខ័ណ្ឌមុននឹង execute code (ប្រតិបត្តិcode). វាធ្វើការ execute statements ម្តងហើយម្តងទៀត កាលណា expression មានតំលៃ true.
syntax: while(expression){ statements; }
ឧទាហរណ៍
let i = 0; while (i < 5) { console.log(i); // Will log 0, 1, 2, 3, 4 i++; }
- Do While Statement
syntax: do{ statements; } while(expression);
ឧទាហរណ៍
let i = 0; do { console.log(i); // Will log 0, 1, 2, 3, 4 i++; } while (i < 5);
Syntax: for(initialization,condition,increment_statement){ statements; }
ឧទាហរណ៍
for (let i = 0; i < 5; i++) { console.log(i); // Will log 0, 1, 2, 3, 4 }
Syntax: for (let key in object) { // code to be executed }
ឧទាហរណ៍
const person = { name: "Alice", age: 25 }; for (let key in person) { console.log(key); // Will log 'name' and 'age' }
Syntax: for (let element of iterable) { // code to be executed }
ឧទាហរណ៍
let arr = [10, 20, 30, 40]; for (let value of arr) { console.log(value); // Will log 10, 20, 30, 40 }
Loop | ប្រើលើ Object | ប្រើលើ Array | Iterate លើ |
---|---|---|---|
for...in | (ល្អ) | (កុំប្រើ) | Keys (index) |
for...of | (មិនដំណើរការ) | (ល្អ) | Values |
Write a function findAllIdx(arr, value) that returns an array of the indices of the elements whose value is equal to value.
findAllIdx([1,0,1,0,0,1], 0) // [1,3,4]
findAllIdx([1,1], 0) // []
function findAllIdx(arr, value) { let newArr = [] for (const key in arr) { if(arr[key] === value){ newArr.push(Number(key)) } } return newArr } console.log(findAllIdx([1,0,1,0,0,1], 0))
forEach() និង map()
forEach()
ប្រើសម្រាប់ iteration ទៅលើ array ដោយគ្មាន return។ វាធ្វើអោយមុខងារ (callback function) ត្រូវបានអនុវត្តលើ element នីមួយៗ។
const fruits = ["apple", "banana", "mango"]; fruits.forEach((fruit, index) => { console.log(`🥭 ផ្លែទី ${index + 1}: ${fruit}`); });
map()
ប្រើសម្រាប់ iteration ហើយបង្កើត ឬ return array ថ្មី ដោយប្តូរតម្លៃនៃ element នីមួយៗ។
const prices = [5, 10, 15]; const discountedPrices = prices.map(price => price * 0.9); // 10% discount console.log(discountedPrices); // លទ្ធផល៖ [4.5, 9, 13.5]
លក្ខណៈ | forEach() | map() |
---|---|---|
ប្រើសម្រាប់ | Iteration (looping) | បង្កើត array ថ្មី |
Return value | undefined | Array ថ្មី |
Mutation (កែប្រែ) | មិនបង្កើត array ថ្មី | បង្កើត array ថ្មី |
ប្រើនៅពេល | ចង់ execute កូដលើ element | ចង់ return តម្លៃថ្មី |
តើគួរប្រើ forEach() ឬ map()?
ប្រើ forEach() → ប្រសិនបើអ្នកចង់ ប្រតិបត្តិលើ element (effects, console.log, API calls)
ប្រើ map() → ប្រសិនបើអ្នកចង់ បម្លែង array (transform data) និង return array ថ្មី
មេរៀនដែលទាក់ទង
0 Comments