اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر (معدل)

بالطبع يمكن تحقيق ذلك في لغة JavaScript كما فعلت أنت:

 

let arry = ['****', '***', '**', '*'];
for (let value of arry) {
    console.log(value);
}

فهذا الكود ينشئ مصفوفة `arry` تحتوي على سلسلات نجوم، ثم يستخدم حلقة `for...of` للتكرار عبر العناصر في المصفوفة ويقوم بطباعة كل قيمة في المصفوفة.

تم التعديل في بواسطة ياسر مسكين
  • 0
نشر

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

for (let i = 4; i > 0; i--) {
    console.log('*'.repeat(i));
}

هذا الكود يستخدم حلقة for لإنشاء أربعة أسطر، حيث يبدأ بأربعة نجوم في السطر الأول ويقلل العدد تدريجيا في كل سطر، الدالة repeat تستخدم لتكرار النجمة بناء على قيمة المتغير i.

و يمكنك الإطلاع أكثر على الحلقات في جافاسكريبت من خلال المقال التالي:

 

  • 0
نشر

أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل وطرح الأسئلة العامة هنا.

التمرين لديك يقوم بالمطلوب بدون مشكلة.

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

function printStars(numStars) {
  for (let i = 1; i <= numStars; i++) {
    console.log("*".repeat(i));
  }
}

const numStars = 5;
printStars(numStars);
  • حيث قمت بتعريف دالة printStars تتلقى متغيرًا واحدًا numStars يمثل عدد النجوم في السطر الأول من الهرم.
  • داخل الدالة، حلقة for تبدأ من 1 وتستمر حتى numStars.
  • داخل الحلقة، يتم طباعة حرف "*" عدد مرات يعتمد على قيمة i.
  • يتم استخدام دالة repeat لطباعة حرف "*" عددًا محددًا من المرات.
  • يتم استدعاء الدالة printStars مع قيمة numStars التي تحدد حجم الهرم.
  • 0
نشر

يمكنك تحقيق نفس النتيجة باستخدام for loop 
 

let arry = ['****', '***', '**', '*'];
for (let i =0; i < arry.length; i++){
	console.log(arry[i])
}
// output
// ****
// ***
// **
// *

هنا استخدمنا for للتكرار عبر كل فهرس لعناصر المصفوفة ومن ثم طباعة العنصر المقابل للفهرس، واستخدمنا طول المصفوفة كعامل إيقاف او كسر للتكرار او الloop .

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...