From b2e6c16f8329442240d0ad090e786d0cddb5188d Mon Sep 17 00:00:00 2001 From: teabyte Date: Tue, 20 Feb 2024 05:20:45 +0300 Subject: [PATCH] Adding even more course --- courses/accessing-nested-arrays.md | 42 +++++++++++++++++++ courses/objects/accessing-nested-objects.md | 34 +++++++++++++++ .../objects/manipulating-complex-objects.md | 42 +++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 courses/accessing-nested-arrays.md create mode 100644 courses/objects/accessing-nested-objects.md create mode 100644 courses/objects/manipulating-complex-objects.md diff --git a/courses/accessing-nested-arrays.md b/courses/accessing-nested-arrays.md new file mode 100644 index 0000000..410eec8 --- /dev/null +++ b/courses/accessing-nested-arrays.md @@ -0,0 +1,42 @@ +--- +title: الوصول إلى المصفوفات المتداخلة +snippet: الكائنات تشبه المصفوفات باستثناء أنه بدلاً من استخدام الفهارس +order: 13 +--- + +كما رأينا في الأمثلة في درس الكائنات يمكن أن تحتوي الكائنات على كائنات متداخلة +ومصفوفات متداخلة. كما هو الحال مع في الكائنات المتداخلة، يمكن استعمال تدوين +اقواس المصفوفة للوصول إلى المصفوفات المتداخلة. + +فيما يلي مثال لكيفية الوصول إلى مصفوفة متداخلة: + +```js +const ourPets = [ + { + animalType: "cat", + names: [ + "Meowzer", + "Fluffy", + "Kit-Cat", + ], + }, + { + animalType: "dog", + names: [ + "Spot", + "Bowser", + "Frankie", + ], + }, +]; + +console.log(ourPets[0].names[1]); +console.log(ourPets[1].names[0]); +``` + +ستكون قيمه `OurPets[0].names[1]` هي السلسلة `Fluffy`، وستكون قيمه +`ourPets[1].names[0]` هي السلسلة `Spot`. + +
+نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. +
diff --git a/courses/objects/accessing-nested-objects.md b/courses/objects/accessing-nested-objects.md new file mode 100644 index 0000000..4a1d7e2 --- /dev/null +++ b/courses/objects/accessing-nested-objects.md @@ -0,0 +1,34 @@ +--- +title: الوصول إلى الكائنات المتداخلة +snippet: لا يوجد +order: 8 +--- + +يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس معًا. + +فيما يلي مثال على كائن متداخل:: + +```js +const ourStorage = { + "desk": { + "drawer": "stapler", + }, + "cabinet": { + "top drawer": { + "folder1": "a file", + "folder2": "secrets", + }, + "bottom drawer": "soda", + }, +}; + +console.log(ourStorage.cabinet["top drawer"].folder2); +console.log(ourStorage.desk.drawer); +``` + +سيكون `OurStorage.cabinet["top Draw"].folder2` هو سلسلة `secrets`، وسيكون +`OurStorage.desk.drawer` هو سلسلة `stapler`. + +
+نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. +
diff --git a/courses/objects/manipulating-complex-objects.md b/courses/objects/manipulating-complex-objects.md new file mode 100644 index 0000000..79b0515 --- /dev/null +++ b/courses/objects/manipulating-complex-objects.md @@ -0,0 +1,42 @@ +--- +title: التعامل مع الكائنات المعقدة +snippet: لا يوجد +order: 7 +--- + +في بعض الأحيان قد ترغب في تخزين البيانات في بنية بيانات مرنة. يعد كائن +JavaScript إحدى طرق التعامل مع البيانات المرنة. حيث يسمح بمجموعات من السلاسل +والأرقام والقيم المنطقية والمصفوفات والدوال والكائنات داخل الكأن نفسه. + +فيما يلي مثال على بنية بيانات معقدة: + +```js +const ourMusic = [ + { + "artist": "Daft Punk", + "title": "Homework", + "release_year": 1997, + "formats": [ + "CD", + "Cassette", + "LP", + ], + "gold": true, + }, +]; +``` + +هذه مصفوفة تحتوي على كائن واحد بداخلها. يحتوي الكائن على أجزاء مختلفة من +البيانات التعريفية حول الألبوم. كما أن لديها مصفوفة `formats` متداخلة. إذا كنت +تريد إضافة المزيد من تسجيلات الألبوم، فيمكنك القيام بذلك عن طريق إضافة تسجيلات +إلى مصفوفة المستوى الأعلى. تحتفظ الكائنات بالبيانات في خاصية لها تنسيق قيمة +المفتاح `(key-value format)`. في المثال أعلاه، `"artist": "Daft Punk"` هي خاصية +تحتوي على مفتاح `Artist` وقيمة `Daft Punk`. + + +ستحتاج إلى وضع فاصلة (,) بعد كل كائن في المصفوفة، إلا إذا كان الكائن الأخير في المصفوفة. + + +
+نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. +