diff --git a/courses/accessing-nested-arrays.md b/courses/accessing-nested-arrays.md index 410eec8..250f78b 100644 --- a/courses/accessing-nested-arrays.md +++ b/courses/accessing-nested-arrays.md @@ -1,6 +1,6 @@ --- title: الوصول إلى المصفوفات المتداخلة -snippet: الكائنات تشبه المصفوفات باستثناء أنه بدلاً من استخدام الفهارس +snippet: يمكن استعمال تدوين اقواس المصفوفة للوصول إلى المصفوفات المتداخلة order: 13 --- diff --git a/courses/arrays/intro.md b/courses/arrays/intro.md index 5c0946e..93687ff 100644 --- a/courses/arrays/intro.md +++ b/courses/arrays/intro.md @@ -1,6 +1,6 @@ --- title: المصفوفات والتعامل معها -snippet: هو نوع بيانات في JavaScript يمثل بيانات مجموعة معا. +snippet: هو نوع بيانات في JavaScript يمثل بيانات مجموعة معا order: 1 --- @@ -59,5 +59,5 @@ Array[0] = 15; لدينا الآن قيمة المصفوفة `[30, 40, 15]`.
-قم بإنشاء مصفوفة تحتوي على أسماء الأشخاص الذين تعرفهم. -
\ No newline at end of file +قم بإنشاء مصفوفة تحتوي على أسماء الأشخاص الذين تعرفهم. + diff --git a/courses/arrays/manipulate-arrays.md b/courses/arrays/manipulate-arrays.md index 33b0e9c..2747f75 100644 --- a/courses/arrays/manipulate-arrays.md +++ b/courses/arrays/manipulate-arrays.md @@ -1,6 +1,6 @@ --- title: التعامل مع المصفوفات -snippet: push, pop, shift, unshift +snippet: استعمال push, pop, shift, unshift order: 3 --- @@ -53,8 +53,9 @@ console.log(threeArr); const ourArray = ["Stimpson", "J", ["cat"]]; const removedFromOurArray = ourArray.shift(); ``` -والدالة `()shift` ستزيل القيمة `Stimpson` من `ourArray` وستعيدها كقيمة. يعني قيمة `removedFromOurArray` ستكون `Stimpson` و `ourArray` ستكون `["J", "cat"]`. +والدالة `()shift` ستزيل القيمة `Stimpson` من `ourArray` وستعيدها كقيمة. يعني +قيمة `removedFromOurArray` ستكون `Stimpson` و `ourArray` ستكون `["J", "cat"]`. ## unshift diff --git a/courses/arrays/multidimensional-index.md b/courses/arrays/multidimensional-index.md index 2e94359..8d69f06 100644 --- a/courses/arrays/multidimensional-index.md +++ b/courses/arrays/multidimensional-index.md @@ -1,6 +1,6 @@ --- title: الوصول إلى المصفوفات متعددة الأبعاد -snippet: احدى طرق التفكير في المصفوفة متعددة الأبعاد +snippet: أنها تتكون مصفوفة من عده مصفوفات order: 2 --- diff --git a/courses/compound-operators.md b/courses/compound-operators.md index 11329f8..f05becd 100644 --- a/courses/compound-operators.md +++ b/courses/compound-operators.md @@ -1,6 +1,6 @@ --- title: عوامل مركبه -snippet: في عالم البرمجة، تُستخدم المشغلات او العوامل +snippet: في عالم البرمجة، تُستخدم المشغلات او العوامل او المهام لأداء العمليات order: 5 --- diff --git a/courses/functions/early-return-pattern.md b/courses/functions/early-return-pattern.md index dae810b..1d0c804 100644 --- a/courses/functions/early-return-pattern.md +++ b/courses/functions/early-return-pattern.md @@ -1,6 +1,6 @@ --- title: الإرجاع المبكر -snippet: عند الوصول إلى بيان الإرجاع، يتوقف تنفيذ الوظيفة الحالية. +snippet: عند الوصول إلى بيان الإرجاع، يتوقف تنفيذ الوظيفة الحالية order: 7 --- diff --git a/courses/if-statements/chaining-if-else.md b/courses/if-statements/chaining-if-else.md index 568e61b..c262a49 100644 --- a/courses/if-statements/chaining-if-else.md +++ b/courses/if-statements/chaining-if-else.md @@ -1,6 +1,6 @@ --- title: تسلسل العبارات المنطقية -snippet: مكن ربط عبارات if/else معًا لتحقيق منطق معقد. +snippet: يمكن ربط عبارات if/else معًا لتحقيق منطق معقد order: 8 --- diff --git a/courses/if-statements/comparison-with-equality-operator.md b/courses/if-statements/comparison-with-equality-operator.md index 4670d77..b16f7fe 100644 --- a/courses/if-statements/comparison-with-equality-operator.md +++ b/courses/if-statements/comparison-with-equality-operator.md @@ -1,6 +1,6 @@ --- title: مقارنة مع عامل المساواة -snippet: يقارن عامل المساواة بين قيمتين +snippet: يقارن عامل المساواة بين قيمتين order: 2 --- diff --git a/courses/if-statements/comparison-with-strict-equality-operator.md b/courses/if-statements/comparison-with-strict-equality-operator.md index 4f1d730..b7cc1d8 100644 --- a/courses/if-statements/comparison-with-strict-equality-operator.md +++ b/courses/if-statements/comparison-with-strict-equality-operator.md @@ -1,6 +1,6 @@ --- title: مقارنة مع عامل المساواة الصارمة -snippet: لا يقوم عامل المساواة الصارم بإجراء تحويل النوع. +snippet: لا يقوم عامل المساواة الصارم بإجراء تحويل النوع order: 3 --- diff --git a/courses/if-statements/introducing-else-and-else-if-statements.md b/courses/if-statements/introducing-else-and-else-if-statements.md index e3d6470..629c4a8 100644 --- a/courses/if-statements/introducing-else-and-else-if-statements.md +++ b/courses/if-statements/introducing-else-and-else-if-statements.md @@ -1,6 +1,6 @@ --- title: التعريف بي ( else و else if ) -snippet: لا يوجد +snippet: وماذا عندما يكون هذا الشرط خطأ order: 6 --- diff --git a/courses/loops/_data.json b/courses/loops/_data.json new file mode 100644 index 0000000..a86c1c6 --- /dev/null +++ b/courses/loops/_data.json @@ -0,0 +1,5 @@ +{ + "label": "الحلقات", + "lableSlug": "loops", + "order": 14 +} diff --git a/courses/loops/count-backwards-with-a-for-loop.md b/courses/loops/count-backwards-with-a-for-loop.md new file mode 100644 index 0000000..63ae3b3 --- /dev/null +++ b/courses/loops/count-backwards-with-a-for-loop.md @@ -0,0 +1,29 @@ +--- +title: العد التنازلي باستخدام حلقة ( for ) +snippet: يمكن أيضًا للحلقة أن تعد بشكل عكسي، طالما أننا نستطيع تحديد الشروط الصحيحة +order: 3 +--- + +يمكن أيضًا للحلقة أن تعد بشكل عكسي، طالما أننا نستطيع تحديد الشروط الصحيحة. + +من أجل إنقاص كل تكرار بمقدار اثنين، سنحتاج إلى تغيير التهيئة والحالة والتعبير +النهائي. + +سنبدأ عند `i = 10` ونكرر الحلقة بينما `i > 0`. سننقص `i` بمقدار `2` في كل حلقة +مع `i -= 2`. + +```js +const ourArray = []; + +for (let i = 10; i > 0; i -= 2) { + ourArray.push(i); +} + +console.log(ourArray); +``` + +سيحتوي `ourArray` الآن على [10، 8، 6، 4، 2]. + +
+نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. +
diff --git a/courses/loops/iterate-using-for-loops.md b/courses/loops/iterate-using-for-loops.md new file mode 100644 index 0000000..5e98dd2 --- /dev/null +++ b/courses/loops/iterate-using-for-loops.md @@ -0,0 +1,66 @@ +--- +title: التكرار باستخدام حلقات ( for ) +snippet: يُطلق على النوع الأكثر شيوعًا من الحلقات اسم حلقة for +order: 2 +--- + +يمكنك تشغيل نفس الكود عدة مرات باستخدام حلقة. + +يُطلق على النوع الأكثر شيوعًا من الحلقات اسم حلقة `for` لأنها تعمل لعدد محدد من +المرات. + +يتم الإعلان عن حلقات `for` بثلاثة تعبيرات اختيارية مفصولة بفواصل منقوطة (`;`). + +`for (a; b; c)`، حيث `a` هو بيان التهيئة، و `b` هو بيان الشرط، و `c` هو التعبير +النهائي. + +يتم تنفيذ عبارة التهيئة مرة واحدة فقط قبل بدء الحلقة. يتم استخدامه عادةً لتحديد +وإعداد متغير الحلقة الخاص بك. + +يتم تقييم بيان الشرط في بداية كل تكرار للحلقة وسيستمر طالما تم تقييمه على أنه +صحيح. عندما يكون الشرط خاطئًا في بداية التكرار، ستتوقف الحلقة عن التنفيذ. هذا +يعني أنه إذا بدأ الشرط كخطأ، فلن يتم تنفيذ حلقتك أبدًا. + +يتم تنفيذ التعبير النهائي في نهاية كل تكرار للحلقة، قبل التحقق من الشرط ويستخدم +عادةً لزيادة أو تقليل عداد الحلقة. + +في المثال التالي، قمنا بالتهيئة بـ `i = 0` ثم قمنا بالتكرار بينما يكون الشرط +`i < 5` صحيحًا. سنقوم بزيادة `i` بمقدار `1` في كل تكرار للحلقة باستخدام `i++` +كتعبير نهائي. + +```js +const ourArray = []; + +for (let i = 0; i < 5; i++) { + ourArray.push(i); +} + +console.log(ourArray); +``` + +سيكون لـ `ourArray` الآن القيمة [0, 1, 2, 3, 4]. + +## تكرار الأرقام الزوجية باستخدام حلقة ( for ) + +ليس من الضروري تكرار الحلقات واحدة تلو الأخرى. ومن خلال تغيير التعبير النهائي، +يمكننا العد بالأرقام الزوجية. + +سنبدأ عند `i = 0` ونكرر الحلقة بينما `i < 10`. سنزيد `i` بمقدار `2` في كل حلقة +باستخدام `i += 2`. + +```js +const ourArray = []; + +for (let i = 0; i < 10; i += 2) { + ourArray.push(i); +} + +console.log(ourArray); +``` + +سيحتوي `ourArray` الآن على [0، 2، 4، 6، 8]. + + +
+نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. +
diff --git a/courses/loops/iterate-using-while-loops.md b/courses/loops/iterate-using-while-loops.md new file mode 100644 index 0000000..1b92271 --- /dev/null +++ b/courses/loops/iterate-using-while-loops.md @@ -0,0 +1,29 @@ +--- +title: التكرار باستخدام حلقات ( while ) +snippet: يمكنك تشغيل نفس الكود عدة مرات باستخدام حلقة +order: 1 +--- + +يمكنك تشغيل نفس الكود عدة مرات باستخدام حلقة. + +النوع الأول من الحلقات التي سنتعلمها يسمى حلقة `while` تعمل عندما يكون الشرط +المحدد صحيحًا ويتوقف عندما يصبح الشرط غير صحيح. + +```js +const ourArray = []; +let i = 0; + +while (i < 5) { + ourArray.push(i); + i++; +} + +console.log(ourArray); +``` + +في مثال السابق سيتم تنفيذ حلقة `while` 5 مرات وإلحاق الأرقام من 0 إلى 4 إلى +`ourArray`. + +
+نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن. +
diff --git a/courses/numbers/intro.md b/courses/numbers/intro.md index 325c5a8..eb8c880 100644 --- a/courses/numbers/intro.md +++ b/courses/numbers/intro.md @@ -1,6 +1,6 @@ --- title: الأرقام والتعامل معها -snippet: هو نوع بيانات في JavaScript يمثل بيانات رقمية. +snippet: هو نوع بيانات في JavaScript يمثل بيانات رقمية order: 1 --- diff --git a/courses/objects/accessing-nested-objects.md b/courses/objects/accessing-nested-objects.md index 4a1d7e2..b219ebd 100644 --- a/courses/objects/accessing-nested-objects.md +++ b/courses/objects/accessing-nested-objects.md @@ -1,12 +1,12 @@ --- title: الوصول إلى الكائنات المتداخلة -snippet: لا يوجد +snippet: يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس order: 8 --- -يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس معًا. +يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس. -فيما يلي مثال على كائن متداخل:: +فيما يلي مثال على كائن متداخل: ```js const ourStorage = { diff --git a/courses/objects/accessing-object-properties-with-variables.md b/courses/objects/accessing-object-properties-with-variables.md index 40d9019..f50c046 100644 --- a/courses/objects/accessing-object-properties-with-variables.md +++ b/courses/objects/accessing-object-properties-with-variables.md @@ -1,6 +1,6 @@ --- title: الوصول إلى خاصية مخزنة كقيمة متغير -snippet: يمكن أن يكون هذا مفيدًا جدًا للتكرار على خصائص الكائن +snippet: يمكن أن يكون هذا مفيدًا جدًا للتكرار على خصائص الكائن order: 3 --- diff --git a/courses/objects/delete-properties-from-object.md b/courses/objects/delete-properties-from-object.md index 72d5f7a..db85dfb 100644 --- a/courses/objects/delete-properties-from-object.md +++ b/courses/objects/delete-properties-from-object.md @@ -1,10 +1,10 @@ --- title: حذف الخصائص من كائن -snippet: لا يوجد +snippet: يمكننا أيضًا حذف الخصائص من كائنات order: 5 --- -يمكننا أيضًا حذف الخصائص من كائنات بهذه الطريقة: +يمكننا أيضًا حذف الخصائص من الكائنات بهذه الطريقة: ```js delete ourDog.bark; diff --git a/courses/objects/manipulating-complex-objects.md b/courses/objects/manipulating-complex-objects.md index 79b0515..f58c77f 100644 --- a/courses/objects/manipulating-complex-objects.md +++ b/courses/objects/manipulating-complex-objects.md @@ -1,6 +1,6 @@ --- title: التعامل مع الكائنات المعقدة -snippet: لا يوجد +snippet: في بعض الأحيان قد ترغب في تخزين البيانات في بنية بيانات مرنة order: 7 --- diff --git a/courses/objects/testing-objects-for-properties.md b/courses/objects/testing-objects-for-properties.md index 7ebc276..48c3d2c 100644 --- a/courses/objects/testing-objects-for-properties.md +++ b/courses/objects/testing-objects-for-properties.md @@ -1,6 +1,6 @@ --- title: اختبار خصائص الكائنات -snippet: لا يوجد +snippet: للتحقق من وجود خاصية على كائن معين أم لا order: 6 --- diff --git a/courses/objects/updating-object-properties.md b/courses/objects/updating-object-properties.md index c8f1d01..d522c10 100644 --- a/courses/objects/updating-object-properties.md +++ b/courses/objects/updating-object-properties.md @@ -1,6 +1,6 @@ --- title: تحديث و إضافة خصائص جديدة للكائن -snippet: لا يوجد +snippet: يمكنك استخدام تدوين النقطة أو القوس للتحديث order: 4 --- diff --git a/courses/returning-boolean-values-from-functions.md b/courses/returning-boolean-values-from-functions.md index 7781ed0..5215696 100644 --- a/courses/returning-boolean-values-from-functions.md +++ b/courses/returning-boolean-values-from-functions.md @@ -1,6 +1,6 @@ --- title: إرجاع القيم المنطقية من الدوال -snippet: لا يوجد +snippet: قد تتذكر من المقارنة مع عامل المساواة أن جميع عوامل المقارنة تُرجع قيمة منطقية صحيحة أو خاطئة order: 11 --- diff --git a/courses/strings/bracket-examples.md b/courses/strings/bracket-examples.md index 804ff10..f4f7151 100644 --- a/courses/strings/bracket-examples.md +++ b/courses/strings/bracket-examples.md @@ -1,6 +1,6 @@ --- title: أمثلة على استخدام الأقواس -snippet: استخدم الأقواس للعثور على الحرف N في سلسلة +snippet: استخدم الأقواس للعثور على الحرف في سلسلة order: 6 --- diff --git a/courses/strings/concatenating-strings.md b/courses/strings/concatenating-strings.md index 1d790a7..d837535 100644 --- a/courses/strings/concatenating-strings.md +++ b/courses/strings/concatenating-strings.md @@ -1,6 +1,6 @@ --- title: سلاسل مترابطة -snippet: في JavaScript، عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة +snippet: في JavaScript عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة order: 2 --- diff --git a/courses/strings/intro.md b/courses/strings/intro.md index 32cb1fd..a6df6aa 100644 --- a/courses/strings/intro.md +++ b/courses/strings/intro.md @@ -1,6 +1,6 @@ --- title: السلاسل والتعامل معها -snippet: هو نوع بيانات في JavaScript يمثل نص من عدا حروف. +snippet: هو نوع بيانات في JavaScript يمثل نص من عدا حروف order: 1 --- diff --git a/courses/strings/length.md b/courses/strings/length.md index 98b5630..f9b5752 100644 --- a/courses/strings/length.md +++ b/courses/strings/length.md @@ -1,6 +1,6 @@ --- title: العثور على طول السلسلة -snippet: يمكنك العثور على طول قيمة السلسلة عن طريق +snippet: يمكنك العثور على طول قيمة السلسلة عن طريق order: 3 --- diff --git a/courses/strings/understand-immutability.md b/courses/strings/understand-immutability.md index 7857623..96e5b56 100644 --- a/courses/strings/understand-immutability.md +++ b/courses/strings/understand-immutability.md @@ -1,6 +1,6 @@ --- title: فهم ثبات السلسلة -snippet: في JavaScript، تكون قيم السلسلة غير قابلة للتغيير +snippet: في JavaScript تكون قيم السلسلة غير قابلة للتغيير order: 5 --- @@ -23,7 +23,8 @@ myPet[0] = "B"; let myPet = "Cat"; myPet = "Bat"; ``` +
يبدوا أني قد كتبت كلمة فيل بطريقة خاطئة. قم بتغيير الحرف الأول من السلسلة animal إلى ف. -
\ No newline at end of file + diff --git a/courses/variables/uninitialized-variables.md b/courses/variables/uninitialized-variables.md index 6e1dc0a..c0473d0 100644 --- a/courses/variables/uninitialized-variables.md +++ b/courses/variables/uninitialized-variables.md @@ -1,6 +1,6 @@ --- title: فهم المتغيرات غير المهيأة -snippet: عندما يتم الإعلان عن متغيرات JavaScript، تكون قيمتها الأولية غير محددة +snippet: عندما يتم الإعلان عن متغيرات تكون قيمتها الأولية غير محددة order: 3 --- diff --git a/routes/[...slug].tsx b/routes/[...slug].tsx index 1a96f34..057e205 100644 --- a/routes/[...slug].tsx +++ b/routes/[...slug].tsx @@ -55,9 +55,9 @@ export default function CoursePage( {course.title} - + - +