6.8 KiB
title | localeTitle |
---|---|
Repeat a String Repeat a String | كرر سلسلة يكرر سلسلة |
تذكر استخدام Read-Search-Ask
إذا واجهتك مشكلة. حاول إقران البرنامج واكتب الكود الخاص بك
شرح المشكلة:
البرنامج بسيط جداً ، وعلينا أن نأخذ متغيراً ونعيد هذا المتغير إلى تكرار قدر معين من المرات. لا حاجة لإضافة مساحة أو أي شيء ، فقط استمر في تكرارها في سلسلة واحدة.
روابط ذات صلة
تلميح: 1
لا يمكنك تحرير السلاسل ، ستحتاج إلى إنشاء متغير لتخزين السلسلة الجديدة.
حاول أن تحل المشكلة الآن
تلميح: 2
قم بإنشاء حلقة لتكرار الكود عدة مرات حسب الحاجة.
حاول أن تحل المشكلة الآن
تلميح: 3
جعل المتغير إنشاء تخزين القيمة الحالية وإلحاق الكلمة إليها.
حاول أن تحل المشكلة الآن
تنبيه المفسد!
الحل في المستقبل!
الحل الأساسي للكود:
`function repeatStringNumTimes(str, num) { var accumulatedStr = '';
while (num > 0) { accumulatedStr += str; num--; }
return accumulatedStr; } `
شرح الشفرة:
- قم بإنشاء متغير سلسلة فارغ لتخزين الكلمة المكررة.
- استخدم حلقة while (أثناء) أو للحلقة لتكرار التعليمة البرمجية عدة مرات حسب الحاجة وفقًا لعدد
num
- ثم يجب علينا فقط إضافة السلسلة إلى المتغير الذي تم إنشاؤه في الخطوة الأولى ، وزيادة أو تقليل عدد
num
اعتمادًا على كيفية تعيين الحلقة. - في نهاية الحلقة ، قم بإرجاع المتغير للكلمة المكررة.
روابط ذات صلة
- شبيبة أثناء حلقة
- شبيبة لشرح الحلقات
حل الشفرة المتوسطة:
function repeatStringNumTimes(str, num) { if(num < 0) return ""; if(num === 1) return str; else return str + repeatStringNumTimes(str, num - 1); }
شرح الشفرة:
- يستخدم هذا الحل العودية.
- نتحقق مما إذا كانت قيمة
num
سالبة وترجع سلسلة فارغة إذا كانت صحيحة. - ثم نتحقق مما إذا كان يساوي 1 وفي هذه الحالة نقوم بإرجاع السلسلة نفسها.
- إن لم يكن، ونضيف إلى سلسلة لدعوة من وظيفتنا مع
num
التي انخفضت بنسبة 1، الأمر الذي سيزيد من آخرstr
وآخر .. حتى في نهاية المطافnum
هي 1. وتعود تلك العملية برمتها.
روابط ذات صلة
الحل المتقدم للكود:
`function repeatStringNumTimes(str, num) { return num > 0 ? str.repeat(num) : ''; }
repeatStringNumTimes("abc", 3); `
شرح الشفرة:
- هذا الحل يأخذ نهج إعلاني.
- وهو مماثل للحل الثالث ، باستثناء أنه يستخدم نموذج المشغل الثلاثي لبيان
if
.
روابط ذات صلة
ملاحظات للمساهمات:
- لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
- أضف شرحًا لحلك.
- تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم .
- الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة . ( لا تزيل أي أسماء مستخدمين حالية )
نرى
Wiki Challenge Solution Template
كمرجع.