مشکل در درک کارکرد حلقه بر اساس یک تکنیک

سلام . میشه نحوه کارکرد اون قطعه کد جاوااسکریپت (قسمت حلقه) رو توضیح بدید .{ کد رو کامل گذاشتم که راحت خروجی بگیرید 😁 ، با بقیه قسمتا مشکل ندارم فقط اون قسمت

(for(value of arr

با فور هم مشکلی ندارم . فقط اینکه of چطوری عمل میکنه که حلقه کار میکنه ؟

با تشکر.🌹

<html>
 <head>
 <title>Javascript</title>
 </head>
 <body>
 <div id='output'></div>
 <script>
 var output = document.getElementById('output');
 
 var arr =['jack','mary','larry'];
 
 for(value of arr){
 output.innerHTML += value+'<br>';
 }
 
 </script>
 </body>
</html>
پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

سلام

این حلقه foreach هست در ES روش اول که متغیر رو برمیگردونه

for (value of iterable) {
 console.log(value);
}

در روش دیگه به این شکل عمل میشه که کلید متغییر رو برمیگردونه

for (key in iterable) {
 console.log(iterable[key]);
}
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

تشکر

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

همان طور که دوستمون گفتند هردو foreach هستند با تفاوتی که شرح داد. حلقه ها یک تفاوت کوچک جزیی هم دارند. خروجی ها را باهم مقایسه کنید.

<html>
 <head>
 <title>Javascript</title>
 </head>
 <body>
 <div id='output'></div>
 <script>
 
 var output = document.getElementById('output');
 var a = [];
a[0] = "zero";
a[1] = "one";
a[2] = "two";
a[8] = "eight";
a[9] = "nine";
a[10] = "ten";


for (var i = 0; i < a.length; i++)
output.innerHTML += a[i]+'<br>';
output.innerHTML +='<br>';



for (var key in a)
output.innerHTML += a[key]+'<br>';
output.innerHTML +='<br>';


for (var value of a)
output.innerHTML += value+'<br>';
output.innerHTML +='<br>';



 </script>
 </body>
</html>
zero
one
two
undefined
undefined
undefined
undefined
undefined
eight
nine
ten

zero
one
two
eight
nine
ten

zero
one
two
undefined
undefined
undefined
undefined
undefined
eight
nine
ten

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

تشکر

online-support-icon