Momen Gamal نشر 1 ديسمبر 2020 أرسل تقرير نشر 1 ديسمبر 2020 لوسمحت ايه استخدام الkeys وامتي استخدمها وفين بستخدمها وشكرا مقدما اقتباس
0 أحمد حبنكة نشر 1 ديسمبر 2020 أرسل تقرير نشر 1 ديسمبر 2020 (معدل) أولاً التعليمة فيها خطأ إذ يجب أن تكون: orderRange = Array.from(Array(blocks.length).keys()) وذلك ﻷن keys تابع وليس property. واﻵن لنشرح تابع keys هذا بمثال، ضع هذه التعليمة في browser console : const a = [1,2,3].keys() اﻵن ضع a ليطبع لك المتصفح قيمته، سيطبع لك المتصفح : Array Iterator {} ما هذا ؟ iterator هو ميزة جديدة في ES6 وهو عبارة عن object له method اسمه next باستدعاء هذا الـmethod تتولد قيمة جديدة حسب تعريف iterator ومعها متحول بولياني done والذي يخبرك هل هناك قيم جديدة يمكن توليدها أم لم يعد هناك. دعنا نوضح هذا الـnext في مثالنا، نفذ التعليمة التالية: a.next() سيطبع لك المتصفح: {value: 0, done: false} نفذها مرةً أخرى وسيطبع لك: {value: 1, done: false} ومرةً أخرى: {value: 2, done: false} ومرة أخيرة: {value: undefined, done: true} لاحظ أن done صارت true مما يعني أنه لا توجد أي قيم جديدة، لاحظ أن القيم هي 0,1,2 وهي عبارة عن القيم من 0 إلى طول المصفوفة - 1. وأيضاً كان يمكننا بدلاً من استدعاء next عدة مرات أن نستخدم for-of، نفذ تعليمة for هذه لتعلم ما أقصد: for(const k of [1,2,3].keys()){ console.log(k); } أما تابع Array.from فهو يحول أي iterator object إلى مصفوفة. تعليمتك بالنتيجة ما هي إلى إنشاء مصفوفة قيمها من 0 إلى blocks.length - 1 فقط لا غير. بالطبع iterator object ليس بالضرورة يولد قيماً من 0 إلى طول مصفوفة ما بل يمكنه توليد أي قيم ﻷي عدد من المرات وبعض iterator object تكون حتى لا نهائية أي done دائماً false ، ما يحدد ماذا يولد iterator object هو التابع الذي تستدعيه، في مثالك array.keys() يولد قيم من 0 إلى طول المصفوفة -1 أما في المثال التالي: const s = new Set([1,5,3]).keys() فالـiterator object سيولد 1,5,3. تم التعديل في 1 ديسمبر 2020 بواسطة أحمد حبنكة 4 اقتباس
0 Yomna Raouf نشر 1 ديسمبر 2020 أرسل تقرير نشر 1 ديسمبر 2020 التابع keys يقوم بإنشاء كائن تكراري من مصفوفة ما، و هذا الكائن التكراري يحتوي المفاتيح"الفهارس" الخاصة بهذه المصفوفة. لاحظ المثال التالي: <!DOCTYPE html> <html> <body> <h1>Array keys()</h1> <p>Create an Iteration Object from the fruit array.</p> <p>The Iteration object will contain the keys of the array:</p> <p id="demo"></p> <p><strong>Note:</strong> The keys method is not supported in IE 11 (and earlier versions).</p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; var fruits_keys = fruits.keys(); for (key of fruits_keys) { document.getElementById("demo").innerHTML += key + "<br>"; } </script> </body> </html> الناتج: من استخدامات هذا التابع تحديد طول ال associative arrays في js، و ال associative arrays هي كائنات JS الفهارس الخاصة بها تكون سلاسل نصية string لاحظ هذا المثال: let shows = new Array(); shows["s1"] = "StrangerThings 1"; shows["s2"] = "StrangerThings 2"; shows["s3"] = "StrangerThings 3"; console.log(Object.keys(shows).length); // 3 أما عن أهميتها في الأكواد الخاصة بك فأرجو أن تقوم بإرفاق الكود بأكمله حتى أتمكن من التوضيح لك. 1 اقتباس
0 Momen Gamal نشر 1 ديسمبر 2020 الكاتب أرسل تقرير نشر 1 ديسمبر 2020 اول حاجة شرا علي التوضيح بس حضرتك بتجيب المعلومات منين او من مصادر ايه اقتباس
0 Yomna Raouf نشر 1 ديسمبر 2020 أرسل تقرير نشر 1 ديسمبر 2020 بتاريخ 9 ساعات قال Momen Gamal: اول حاجة شرا علي التوضيح بس حضرتك بتجيب المعلومات منين او من مصادر ايه يوجد العديد من الأماكن التي يمكنك استخدامها كمصادر. مثل موسوعة أكاديمية حسوب أو المقالات الموجودة على أكاديمية حسوب. أو بعض المراجع الأجنبية مثل w3schools أو MDN و غيرها. 1 اقتباس
السؤال
Momen Gamal
لوسمحت ايه استخدام الkeys وامتي استخدمها وفين بستخدمها وشكرا مقدما
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.