Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation.md
2022-10-20 09:13:17 -07:00

3.0 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b7c367417b2b2512b1a الوصول إلى أسماء الخاصية (Property) برمز القوس Bracket Notation 1 301150 access-property-names-with-bracket-notation

--description--

في تحدي الكائن الأول ذكرنا استخدام رمز القوس كوسيلة للوصول إلى قيم الخاصية باستخدام تقييم متغير. على سبيل المثال، تخيل أن كائن foods الخاص بنا يتم استخدامه في برنامَج لتسجيل النقود في محل تجارة. لدينا وظيفة ما و التي تعين selectedFood ونحن نريد التحقق من كائن foods للتأكد من وجود ذلك الطعام. وقد يبدو ذلك كالتالي:

let selectedFood = getCurrentFood(scannedItem);
let inventory = foods[selectedFood];

سيقوم هذا الكود بتقييم القيمة المخزنة في متغير selectedFood وإرجاع قيمة هذا المفتاح في كائن foods، أو undefined إذا لم يكن موجودا. Bracket notation مفيد جداً لأن خصائص الكائن في بعض الأحيان غير معروفة قبل وقت التشغيل أو نحتاج إلى الوصول إليها بطريقة أكثر ديناميكية.

--instructions--

لقد حددنا الوظيفة checkInventory، التي تتلقى عنصر scannedItem كحجة. انتج القيمة الحالية لمفتاح scannedItem في الكائن foods. يمكنك أن تفترض أنه سيتم توفير المفاتيح الصحيحة فقط كحجة لـ checkInventory.

--hints--

checkInventory يجب أن تكون وظيفة.

assert.strictEqual(typeof checkInventory, 'function');

يجب أن يحتوي الكائن foods على أزواج key-value التالية فقط: apples: 25, وoranges: 32, وplums: 28, وbananas: 13, وgrapes: 35, وstrawberries: 27.

assert.deepEqual(foods, {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
});

checkInventory("apples") يجب أن ينتج 25.

assert.strictEqual(checkInventory('apples'), 25);

checkInventory("bananas") يجب أن ينتج 13.

assert.strictEqual(checkInventory('bananas'), 13);

checkInventory("strawberries") يجب أن ينتج 27.

assert.strictEqual(checkInventory('strawberries'), 27);

--seed--

--seed-contents--

let foods = {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
};

function checkInventory(scannedItem) {
  // Only change code below this line

  // Only change code above this line
}

console.log(checkInventory("apples"));

--solutions--

let foods = {
  apples: 25,
  oranges: 32,
  plums: 28,
  bananas: 13,
  grapes: 35,
  strawberries: 27
};

function checkInventory(scannedItem) {
  return foods[scannedItem];
}