Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. JavaScript
Code

تستخدم المكررات والمولدات الكهربائية في جافا سكريبت لتحسين التعليمات البرمجية

by
Difficulty:AdvancedLength:MediumLanguages:

Arabic (العربية/عربي) translation by huda Alsatary (you can also view the original English article)

مقدمة

لقد كنت في حاجة من أي وقت مضى في حلقة مستمرة من خلال قائمة، ولكن هذه العملية أخذت قدرا كبيرا من الوقت لإكمال؟ هل كان حادث تحطم برنامج نظراً لإجراء عملية استخدام الكثير من الذاكرة؟ هذا ما حدث لي عندما حاولت تنفيذ دالة تقوم بإنشاء أرقام رئيس الوزراء.

توليد أرقام رئيس الوزراء ما يصل إلى 1 مليون استغرق وقتاً أكثر بكثير مما كان بودي. ولكن توليد أرقام تصل إلى 10 مليون كان مستحيلاً. أن تعطل البرنامج الخاص بي أو مجرد تعليق. كنت بالفعل استخدام غربال إراتوستينس، التي من المفترض أن تكون أكثر كفاءة في توليد الإعداد الأولية من نهج القوة الغاشمة.

إذا وجدت نفسك في وضع مماثل، يمكنك محاولة استخدام خوارزمية مختلفة. وهناك عمليات البحث والفرز الخوارزميات التي تعمل بشكل أفضل على المدخلات أكبر. الجانب السلبي من هذه الخوارزميات قد يكون أكثر صعوبة لفهم الحق بعيداً. خيار آخر استخدام لغة برمجة مختلفة.

لغة مترجمة قد تكون قادرة على معالجة التعليمات البرمجية أسرع بشكل ملحوظ. ولكن باستخدام لغة أخرى قد لا يكون عمليا. يمكنك أيضا محاولة استخدام مؤشرات ترابط متعددة. مرة أخرى، قد لا يكون عمليا لأنه سيتعين على لغة البرمجة الخاصة بك لدعم هذا.

لحسن الحظ، مع جافا سكريبت، هناك خيار آخر. إذا كان لديك مهمة مكثفة حسابياً، يمكنك استخدام المكررات ومولدات لكسب بعض من الكفاءة. المكررات خاصية لبعض مجموعات جافا سكريبت.

المكررات تحسين الكفاءة عن طريق السماح لك تستهلك العناصر الموجودة في قائمة واحدة في كل مرة كما لو كانوا دفق. المولدات الكهربائية هي نوع خاص من الدالة التي يمكن إيقاف التنفيذ. التذرع بمولد يسمح لك لإنتاج قطعة واحدة من البيانات في كل مرة دون الحاجة إلى تخزينها في قائمة أولاً.

المكررات

أولاً، دعونا استعراض الطرق المختلفة التي يمكن تنفيذ حلقة مستمرة من خلال مجموعات في جافا سكريبت. تكرار حلقي الشكل ل (الأولية؛ والشرط؛ الخطوة) {...} سيقوم بتنفيذ الأوامر في الهيئة لها عدد محدد من المرات. وبالمثل، حين حلقة سيتم تنفيذ الأوامر الموجودة في الهيئة لطالما أن الشرط صحيحاً.

يمكنك استخدام هذه الحلقات لاجتياز قائمة بواسطة تزايد قيمة متغير مؤشر في كل تكرار. يتم تكرار عملية إعدام للهيئة لحلقة. لا أعرف هذه الحلقات حول بنية القائمة الخاصة بك. أنها بمثابة العدادات.

أ/في حلقة و/حلقة مصممة للتكرار عبر هياكل البيانات المحددة. بالتكرار عبر بنية بيانات يعني لك هي الخطو خلال كل من عناصره. أ/في حلقة التكرار على المفاتيح الموجودة في كائن جافا سكريبت عادي. A/حلقة التكرار على قيم عرضها. ما هو عرضها؟ ببساطة، عرضها هو كائن له مكرر. أمثلة من إيتيرابليس صفائف ومجموعات. المكرر هو خاصية للكائن الذي يوفر إليه لتعبر الكائن.

ما الذي يجعل مكرر الخاصة كيف أنه يخترق مجموعة. الحلقات الأخرى تحتاج إلى تحميل مجموعة كاملة مقدما من أجل التكرار أكثر من ذلك، حين مكرر يحتاج فقط إلى معرفة الموقف الحالي في المجموعة.

يمكنك الوصول إلى العنصر الحالي بواسطة استدعاء الأسلوب التالي للمكرر. الأسلوب التالي سيعود قيمة العنصر الحالي وقيمة منطقية تشير إلى متى أنك وصلت إلى نهاية المجموعة. ما يلي مثال لإنشاء مكرر من صفيف.

أنت يمكن أيضا التكرار على قيم مكرر باستخدام/حلقة. استخدم هذا الأسلوب عندما كنت أعلم أنك تريد للوصول إلى كافة العناصر الموجودة في الكائن. هذا كيفية استخدام حلقة للتكرار من خلال القائمة السابقة:

ماذا كنت تستخدم مكرر؟ استخدام مكرر مفيد عند مرتفع التكلفة الحسابية لتجهيز قائمة. إذا كان لديك مصدر بيانات كبيرة جداً، فإنه قد يسبب مشاكل في البرنامج الخاص بك إذا كنت تحاول التكرار أكثر من ذلك لأن المجموعة بأكملها ليتم تحميلها.

مع مكرر، يمكنك تحميل البيانات في قطع. هذا أكثر كفاءة لأنه يمكنك فقط التعامل مع الجزء من القائمة التي تحتاج، دون تكبد تكاليف إضافية لتجهيز القائمة بأكملها.

على سبيل مثال يمكن أن لقد قمت بتحميل البيانات من ملف أو قاعدة بيانات، وتريد تدريجيا عرض المعلومات على الشاشة. يمكن إنشاء مكرر من البيانات وإنشاء معالج حدث للاستيلاء على عدد قليل من العناصر في كل مرة يحدث فيها هذا الحدث. وهذا مثال على ما قد يبدو مثل هذا تنفيذ:

المولدات الكهربائية

إذا كنت ترغب في إنشاء مجموعة، يمكنك القيام بذلك مع مولد كهربائي. يمكن أن ترجع دالة مولد القيم في وقت واحد بالإيقاف المؤقت تنفيذ حكم الإعدام في كل تكرار. عندما تقوم بإنشاء مثيل من مولد، هذه العناصر يمكن الوصول إليها باستخدام مكرر. هذا هو بناء الجملة العامة لإنشاء دالة مولد:

* يدل على أن هذا مولد دالة. الكلمة الأساسية الغلة مؤقتاً لدينا وظيفة وإمدادات الدولة للمولدات الكهربائية في تلك اللحظة بالذات. ماذا كنت تستخدم مولد؟ يمكنك استخدام مولد عندما تريد حسابياً تنتج قيمة في مجموعة. أنها مفيدة بشكل خاص إذا كان لديك مجموعة كبيرة للغاية أو لا نهائية. دعونا ننظر على سبيل مثال فهم كيف يساعد هذا لنا.

افترض أن لديك لعبة البلياردو على إنترنت على أنك قد بنيت، وكنت ترغب في مطابقة اللاعبين إلى غرف للعبة. هدفكم هو لتوليد جميع الطرق يمكنك اختيار اثنين من اللاعبين مميزة من قائمة اللاعبين 2,000. مجموعات اثنين من لاعب المتولدة من القائمة [أن 'أ'، 'ب'، 'ج'، '] سيكون ab، ac، الإعلانية، وقبل الميلاد، دينار بحريني، ومؤتمر نزع السلاح. هذا حل باستخدام حلقات متداخلة:

والآن حاول تنفيذ الدالة مع قائمة عناصر 2,000. (يمكنك تهيئة الخاصة بك باستخدام قائمة لحلقة إضافة الأرقام 1 إلى 2,000 إلى صفيف). ما يحدث الآن عند تشغيل التعليمات البرمجية الخاصة بك؟

عند تشغيل التعليمات البرمجية في محرر إنترنت، صفحة ويب، تعطل. عندما أحاول في وحدة تحكم في كروم، أستطيع أن أرى الإخراج طبع ببطء. ومع ذلك، وحدة المعالجة المركزية للكمبيوتر يبدأ بالذهاب إلى أبعاد، ولدى فرض إنهاء الكروم. هذا هو رمز المنقحة باستخدام دالة مولد:

مثال آخر إذا أردنا لتوليد الأرقام في تسلسل فيبوناتشي حتى اللانهاية. هنا يتم تنفيذ واحد:

عادة، سوف تحطم حلقة لانهائية البرنامج الخاص بك. الدالة فيبجين قادر على تشغيل إلى الأبد لأنه لا يوجد أي شرط التوقف. ولكن نظراً لأنه مولد، يمكنك التحكم عندما يتم تنفيذ كل خطوة.

استعراض

المكررات والمولدات الكهربائية في متناول اليدين عندما تريد معالجة مجموعة تدريجيا. يمكنك الحصول على الكفاءة التي تتبع من الدولة لجمع بدلاً من كافة العناصر الموجودة في المجموعة. العناصر في المجموعة يتم تقييمها في وقت واحد، وهو تأخر تقييم بقية المجموعة حتى وقت لاحق.

المكررات توفر طريقة فعالة لاجتياز والتلاعب بالقوائم الكبيرة. المولدات الكهربائية توفر وسيلة فعالة لبناء القوائم. وينبغي أن يجرب هذه التقنيات عندما كنت خلاف ذلك استخدام خوارزمية معقدة أو تنفيذ البرمجة المتوازية لتحسين التعليمات البرمجية الخاصة بك.

إذا كنت تبحث عن موارد إضافية للدراسة أو لاستخدامها في العمل الخاص بك، تحقق من ما لدينا متوفرة في الأسواق Envato.

الموارد

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.