4.0 KiB
4.0 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7b7c367417b2b2512b1a | Access Property Names with Bracket Notation | 1 | الوصول إلى خاصية الأسماء مع تدرج قوس |
Description
foods
يتم استخدامها في برنامج لسجل النقدية في السوبر ماركت. لدينا بعض الوظائف التي تحدد foods
selectedFood
ونريد أن نتحقق من أن foods
كائن لوجود ذلك الطعام. قد يبدو هذا كالتالي: السماح selectFood = getCurrentFood (scannedItem)؛سيقوم هذا الكود بتقييم القيمة المخزنة في المتغير
السماح للمخزون = الأطعمة [selectFood] ؛
selectedFood
والصادر وإعادة قيمة هذا المفتاح في كائن foods
، أو يتم undefined
إذا لم تكن موجودة. يعتبر تدرج قوس مفيد جدًا لأن أحيانًا لا تكون خصائص الكائن معروفة قبل وقت التشغيل أو نحتاج إلى الوصول إليها بطريقة أكثر ديناميكية. Instructions
checkInventory
، الذي يتلقى عنصرًا تم مسحه ضوئيًا كوسيطة. قم scannedItem
القيمة الحالية لمفتاح scannedItem
في كائن foods
. يمكنك افتراض أنه سيتم توفير المفاتيح الصالحة فقط كوسيطة checkInventory
. Tests
tests:
- text: <code>checkInventory</code> هي وظيفة
testString: 'assert.strictEqual(typeof checkInventory, "function", "<code>checkInventory</code> is a function");'
- text: 'يجب أن يحتوي جسم <code>foods</code> على أزواج القيمة الرئيسية التالية: <code>apples: 25</code> ، <code>oranges: 32</code> ، <code>plums: 28</code> ، <code>bananas: 13</code> ، <code>grapes: 35</code> ، <code>strawberries: 27</code>'
testString: 'assert.deepEqual(foods, {apples: 25, oranges: 32, plums: 28, bananas: 13, grapes: 35, strawberries: 27}, "The <code>foods</code> object should have only the following key-value pairs: <code>apples: 25</code>, <code>oranges: 32</code>, <code>plums: 28</code>, <code>bananas: 13</code>, <code>grapes: 35</code>, <code>strawberries: 27</code>");'
- text: <code>checkInventory("apples")</code> <code>25</code>
testString: 'assert.strictEqual(checkInventory("apples"), 25, "<code>checkInventory("apples")</code> should return <code>25</code>");'
- text: <code>checkInventory("bananas")</code> <code>13</code>
testString: 'assert.strictEqual(checkInventory("bananas"), 13, "<code>checkInventory("bananas")</code> should return <code>13</code>");'
- text: <code>checkInventory("strawberries")</code> <code>27</code>
testString: 'assert.strictEqual(checkInventory("strawberries"), 27, "<code>checkInventory("strawberries")</code> should return <code>27</code>");'
Challenge Seed
let foods = {
apples: 25,
oranges: 32,
plums: 28,
bananas: 13,
grapes: 35,
strawberries: 27
};
// do not change code above this line
function checkInventory(scannedItem) {
// change code below this line
}
// change code below this line to test different cases:
console.log(checkInventory("apples"));
Solution
// solution required