Kodokon kodokon.com

المصفوفات والكائنات: الإنشاء، القراءة، التعديل

خزِّن عدة قيم في مصفوفات، وصِف الكيانات بكائنات، ثم تعلّم كيفية قراءتها وتعديلها.

8 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

حتى الآن، كان كل متغير يحمل قيمة واحدة. إن المصفوفة قائمة مرتّبة من القيم، تُكتب بين قوسين معقوفين مربّعين [ ]، مع فصل القيم بفواصل. تقع كل قيمة في موضع مرقّم يُسمى الفهرس (index). انتبه: يبدأ الترقيم من 0. فالعنصر الأول يقع إذن عند الفهرس 0، والثاني عند الفهرس 1، وهكذا. وتعطي الخاصية length عدد العناصر.

JAVASCRIPT
const fruits = ["apple", "banana", "cherry"];

console.log(fruits[0]);     // Prints: apple
console.log(fruits[2]);     // Prints: cherry
console.log(fruits.length); // Prints: 3
إنشاء مصفوفة وقراءة عناصرها

من السهل تعديل المصفوفة. تضيف الدالة push(...) عنصرًا في النهاية؛ وإن الدالة (method) دالة مرتبطة بقيمة، تستدعيها بنقطة. أما التدوين fruits[0] = ... فيستبدل العنصر الموجود عند الفهرس المحدد.

JAVASCRIPT
const fruits = ["apple", "banana"];

fruits.push("cherry"); // Adds at the end
fruits[0] = "pear";    // Replaces the first one
console.log(fruits);
// Prints: ["pear", "banana", "cherry"]
إضافة العناصر واستبدالها

يُجمِّع الكائن عدة معلومات مترابطة على شكل أزواج مفتاح: قيمة، بين قوسين معقوفين { }. المفتاح اسم، مثل ملصق حقل، والقيمة هي البيانات المرتبطة به. وهو مثالي لوصف كيان من الحياة اليومية: شخص، أو منتج، أو فيلم... تقرأ خاصية أو تعدّلها بنقطة، مثل user.name، ويمكنك إضافة خاصية جديدة في أيّ وقت.

JAVASCRIPT
const user = {
  name: "Léa",
  age: 28
};

console.log(user.name); // Prints: Léa
user.age = 29;          // Modifies the property
user.city = "Lyon";     // Adds a property
console.log(user.age);  // Prints: 29
console.log(user.city); // Prints: Lyon
إنشاء كائن وقراءته وتعديله

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. كيف تقرأ العنصر الأول من مصفوفة اسمها fruits؟
    • fruits[1]
    • fruits[0]
    • fruits.first
  2. أيّ دالة تضيف عنصرًا في نهاية مصفوفة؟
    • push()
    • add()
    • append()
    • insert()
  3. كيف تقرأ الخاصية name من الكائن user؟
    • user.name
    • name.user
    • user->name