2.7 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
| id | title | challengeType | videoUrl | forumTopicId | dashedName |
|---|---|---|---|---|---|
| 56533eb9ac21ba0edf2244d8 | المقارنات باستخدام مشغل الإضافة المنطقي (&&) | 1 | https://scrimba.com/c/cvbRVtr | 16799 | comparisons-with-the-logical-and-operator |
--description--
ستحتاج أحيانًا إلى اختبار أكثر من شيء في وقت واحد. مشغل الإضافة المنطقي ورمزه (&&) يرجع true فقط إذا كان المعاملتين إلى اليسار واليمين صحيحين.
ويمكن تحقيق نفس التأثير عن طريق أدخال if statement داخل if أخري:
if (num > 5) {
if (num < 10) {
return "Yes";
}
}
return "No";
سوف يعيد Yes فقط إذا كان num أكبر من 5 وأقل من 10. ويمكن كتابة نفس المنطق كما يلي:
if (num > 5 && num < 10) {
return "Yes";
}
return "No";
--instructions--
استبدل بيانين if إلى if statement واحدة، باستخدام المشغل &&، الذي سوف يعيد المقطع Yes إذا كان val أقل من أو يساوي 50 وأكثر من أو يساوي 25. خلاف ذلك، سوف يعيد المقطع No.
--hints--
يجب عليك استخدام المشغل && مرة واحدة
assert(code.match(/&&/g).length === 1);
يجب أن يكون لديك بيان if واحد فقط
assert(code.match(/if/g).length === 1);
يجب أن ينتج testLogicalAnd(0) مقطع No
assert(testLogicalAnd(0) === 'No');
يجب أن ينتج testLogicalAnd(24) المقطع No
assert(testLogicalAnd(24) === 'No');
يجب أن ينتج testLogicalAnd(25) المقطع Yes
assert(testLogicalAnd(25) === 'Yes');
يجب أن ينتج testLogicalAnd(30) المقطع Yes
assert(testLogicalAnd(30) === 'Yes');
يجب أن ينتج testLogicalAnd(50) المقطع Yes
assert(testLogicalAnd(50) === 'Yes');
يجب أن ينتج testLogicalAnd(51) المقطع No
assert(testLogicalAnd(51) === 'No');
يجب أن ينتج testLogicalAnd(75) المقطع No
assert(testLogicalAnd(75) === 'No');
يجب أن ينتج testLogicalAnd(80) المقطع No
assert(testLogicalAnd(80) === 'No');
--seed--
--seed-contents--
function testLogicalAnd(val) {
// Only change code below this line
if (val) {
if (val) {
return "Yes";
}
}
// Only change code above this line
return "No";
}
testLogicalAnd(10);
--solutions--
function testLogicalAnd(val) {
if (val >= 25 && val <= 50) {
return "Yes";
}
return "No";
}