Freecodecamp: خطأ في التحدي: استخدم عدة عوامل مشروطة (ثلاثية).

تم إنشاؤها على ٢٢ مايو ٢٠٢٠  ·  16تعليقات  ·  مصدر: freeCodeCamp/freeCodeCamp


صف مشكلتك وكيفية إعادة إنتاجها:
خطأ - فشل اختبار الرمز أدناه بسبب الخطأ: يجب أن يستخدم checkSign عوامل تشغيل شرطية متعددة.

function checkSign(num) {
  return (num!==0) ?(num>0) ? "positive" 
    : "negative" 
    : "zero";
}


console.log(checkSign(10));
console.log(checkSign(-10));
console.log(checkSign(0));

لقطة الشاشة -1:
image

لقطة الشاشة - 2:
image

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

(زيادة وضوح رسالة الخطأ)

أضف رابطًا للصفحة التي بها المشكلة:
رابط التحدي ؛
تصل إلى بلدي بعد علة الإبلاغ عن المنتدى:

first timers only help wanted learn

التعليق الأكثر فائدة

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

سأكون لإضافة ملاحظة مماثلة.

ال 16 كومينتر

أوافق على أن بعض التغيير والتبديل منطقي. سأساعد إذا تمكنا من التقاط حقيقة أن الاختبار فشل إذا أ) لم تكن تستخدم ثلاثية ثلاثية أو ب) لم يكن الثلاثي بالشكل المتوقع.

لا أعتقد أن هذا هو ما يطلبه التحدي: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

هذا هو الرمز من المستندات:

function example(…) {
    return condition1 ? value1
         : condition2 ? value2
         : condition3 ? value3
         : value4;
}

ما قمت ببنائه هو:

function checkSign(num) {
  if (num!==0) {
    if (num>0) {
      return "positive";
    } else {
      return "negative";
    }
  } else {
    return "zero";
  }
}

أوافق ، لقد أنجزت المهمة. ومع ذلك ، فإن المنطق المُنفذ المتوقع هو بالشكل:

function findGreaterOrEqual(a, b) {
  if (a === b) {
    return "a and b are equal";
  }
  else if (a > b) {
    return "a is greater";
  }
  else {
    return "b is greater";
  }
}

لذا ، ربما يتعين علينا تغيير تعليمات التحدي لنكون أكثر تحديدًا فيما يتعلق بالشكل ...

لا أعتقد أن هذا هو ما يطلبه التحدي: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

هذا هو الرمز من المستندات:

function example(…) {
    return condition1 ? value1
         : condition2 ? value2
         : condition3 ? value3
         : value4;
}

ما قمت ببنائه هو:

function checkSign(num) {
  if (num!==0) {
    if (num>0) {
      return "positive";
    } else {
      return "negative";
    }
  } else {
    return "zero";
  }
}

أوافق ، لقد أنجزت المهمة. ومع ذلك ، فإن المنطق المُنفذ المتوقع هو بالشكل:

function findGreaterOrEqual(a, b) {
  if (a === b) {
    return "a and b are equal";
  }
  else if (a > b) {
    return "a is greater";
  }
  else {
    return "b is greater";
  }
}

لذا ، ربما يتعين علينا تغيير تعليمات التحدي لنكون أكثر تحديدًا فيما يتعلق بالشكل ...

سيدي ، يرجى ملاحظة: هذا المستودع من Free Code Camp . شكرا لك على الرد.

felixBoscoJ ، هههه. نعم ، أنا على علم جيد. لقد قمت بالربط بوثائق Mozilla لاسترداد مثال لمشغلين متعددين مشروطين.

وجهة نظري لا تزال صالحة تماما.

felixBoscoJ ، هههه. نعم ، أنا على علم جيد. لقد قمت بالربط بوثائق Mozilla لاسترداد مثال لمشغلين متعددين مشروطين.

وجهة نظري لا تزال صالحة تماما.

شبيبة
وظيفة checkSign (num) {
العودة (num! == 0)؟ (num> 0)؟ "إيجابي"
: "سلبي"
: "صفر" ؛
}

console.log (checkSign (10)) ؛
console.log (checkSign (-10)) ؛
console.log (checkSign (0)) ؛

""
يرجى تجربة الكود أعلاه في هذا التحدي . يرجى التحقق مما هو مطلوب لاجتياز التحدي.

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

function checkSign(num) {
  if (num!==0) {
    if (num>0) {
      return "positive";
    } else {
      return "negative";
    }
  } else {
    return "zero";
  }
}

أوافق ، لقد أنجزت المهمة. ومع ذلك ، فإن المنطق المُنفذ المتوقع هو بالشكل:

function findGreaterOrEqual(a, b) {
  if (a === b) {
    return "a and b are equal";
  }
  else if (a > b) {
    return "a is greater";
  }
  else {
    return "b is greater";
  }
}

لا يحتوي الحل الخاص بك على منطق else if .

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

function checkSign(num) {
  if (num!==0) {
    if (num>0) {
      return "positive";
    } else {
      return "negative";
    }
  } else {
    return "zero";
  }
}

أوافق ، لقد أنجزت المهمة. ومع ذلك ، فإن المنطق المُنفذ المتوقع هو بالشكل:

function findGreaterOrEqual(a, b) {
  if (a === b) {
    return "a and b are equal";
  }
  else if (a > b) {
    return "a is greater";
  }
  else {
    return "b is greater";
  }
}

لا يحتوي الحل الخاص بك على منطق else if .

سيدي الشرط للفوز بالتحدي هو:

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

يجب أن نستخدم عوامل متعددة شرطية (

ربما يجب أن تكون رسالة الخطأ "... عوامل تشغيل شرطية متعددة في التنسيق الموصى به."

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

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

سأكون لإضافة ملاحظة مماثلة.

مغلق؟ هل تم دمج تحديث للوصف؟

@ Sky020 لا يمكن تنفيذ منطق if / else if / else باستخدام عامل التشغيل الثلاثي. لكن يمكن إنجاز المهمة.

أوافق ، لقد أنجزت المهمة. ومع ذلك ، فإن المنطق المُنفذ المتوقع هو بالشكل:

 function findGreaterOrEqual(a, b) {
   if (a === b) {
     return "a and b are equal";
   }
   else if (a > b) {
     return "a is greater";
   }
   else {
     return "b is greater";
   }
 }

لا ، المنطق المُنفذ المتوقع هو بالشكل:
شبيبة
دالة findG GreaterOrEqual (a، b) {

إذا (أ === ب) {
إرجاع "أ و ب متساويين" ؛
}
آخر {
إذا (عدد> 0) {
العودة "إيجابية" ؛
} آخر {
إرجاع "سلبية" ؛
}
}
}

""

تضمين التغريدة

الحل المتوقع (واحد من 6 ، مشابه جدًا لإجابتك النهائية):

function checkSign(num) {
  return (num > 0) ? "positive" 
    : (num < 0) ? "negative"
    : "zero";
}

إصدار If-else

function checkSign(num) {
  if (num > 0) {
    return "positive";
 } else if (num < 0) {
    return "negative";
 } else {
    return "zero";
 } 
}

يمكن دائمًا كتابة ثلاثية أو متعددة باستخدام if-else. التحدي والوصف دقيق. نريد فقط إضافة تعليق توضيحي أو تعليقين للتأكيد على أفضل تنسيق لممارسة القراءة.

لا يهم.

يبدو لي أن إضافة تعليقات توضيحية هو الحل الأفضل. لذا ، دعونا نترك هذا مفتوحًا حتى يتم دمج العلاقات العامة.

أود القفز على هذا ، إذا أمكن. أنا أول مرة ولكنني متحمس حقًا للتعلم!

اذهب لذلك ، jasnkwcz. يجب أن تكون هذه مشكلة جيدة لأول مرة.

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

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات