Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/TeaByte/NakhlahJS
Browse files Browse the repository at this point in the history
  • Loading branch information
m7medVision committed Feb 22, 2024
2 parents bc59d4f + c3e4446 commit efbe999
Show file tree
Hide file tree
Showing 29 changed files with 164 additions and 33 deletions.
2 changes: 1 addition & 1 deletion courses/accessing-nested-arrays.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: الوصول إلى المصفوفات المتداخلة
snippet: الكائنات تشبه المصفوفات باستثناء أنه بدلاً من استخدام الفهارس
snippet: يمكن استعمال تدوين اقواس المصفوفة للوصول إلى المصفوفات المتداخلة
order: 13
---

Expand Down
6 changes: 3 additions & 3 deletions courses/arrays/intro.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: المصفوفات والتعامل معها
snippet: هو نوع بيانات في JavaScript يمثل بيانات مجموعة معا.
snippet: هو نوع بيانات في JavaScript يمثل بيانات مجموعة معا
order: 1
---

Expand Down Expand Up @@ -59,5 +59,5 @@ Array[0] = 15;
لدينا الآن قيمة المصفوفة `[30, 40, 15]`.

<div class="quiz">
قم بإنشاء مصفوفة تحتوي على أسماء الأشخاص الذين تعرفهم.
</div>
قم بإنشاء مصفوفة تحتوي على أسماء الأشخاص الذين تعرفهم.
</div>
5 changes: 3 additions & 2 deletions courses/arrays/manipulate-arrays.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: التعامل مع المصفوفات
snippet: push, pop, shift, unshift
snippet: استعمال push, pop, shift, unshift
order: 3
---

Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion courses/arrays/multidimensional-index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: الوصول إلى المصفوفات متعددة الأبعاد
snippet: احدى طرق التفكير في المصفوفة متعددة الأبعاد
snippet: أنها تتكون مصفوفة من عده مصفوفات
order: 2
---

Expand Down
2 changes: 1 addition & 1 deletion courses/compound-operators.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: عوامل مركبه
snippet: في عالم البرمجة، تُستخدم المشغلات او العوامل
snippet: في عالم البرمجة، تُستخدم المشغلات او العوامل او المهام لأداء العمليات
order: 5
---

Expand Down
2 changes: 1 addition & 1 deletion courses/functions/early-return-pattern.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: الإرجاع المبكر
snippet: عند الوصول إلى بيان الإرجاع، يتوقف تنفيذ الوظيفة الحالية.
snippet: عند الوصول إلى بيان الإرجاع، يتوقف تنفيذ الوظيفة الحالية
order: 7
---

Expand Down
2 changes: 1 addition & 1 deletion courses/if-statements/chaining-if-else.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: تسلسل العبارات المنطقية
snippet: مكن ربط عبارات if/else معًا لتحقيق منطق معقد.
snippet: يمكن ربط عبارات if/else معًا لتحقيق منطق معقد
order: 8
---

Expand Down
2 changes: 1 addition & 1 deletion courses/if-statements/comparison-with-equality-operator.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: مقارنة مع عامل المساواة
snippet: يقارن عامل المساواة بين قيمتين
snippet: يقارن عامل المساواة بين قيمتين
order: 2
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: مقارنة مع عامل المساواة الصارمة
snippet: لا يقوم عامل المساواة الصارم بإجراء تحويل النوع.
snippet: لا يقوم عامل المساواة الصارم بإجراء تحويل النوع
order: 3
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: التعريف بي ( else و else if )
snippet: لا يوجد
snippet: وماذا عندما يكون هذا الشرط خطأ
order: 6
---

Expand Down
5 changes: 5 additions & 0 deletions courses/loops/_data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"label": "الحلقات",
"lableSlug": "loops",
"order": 14
}
29 changes: 29 additions & 0 deletions courses/loops/count-backwards-with-a-for-loop.md
Original file line number Diff line number Diff line change
@@ -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].

<div class="quiz">
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن.
</div>
66 changes: 66 additions & 0 deletions courses/loops/iterate-using-for-loops.md
Original file line number Diff line number Diff line change
@@ -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].

<!-- الكويز يكون عمل مصمفوفه ارقام فرديه -->
<div class="quiz">
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن.
</div>
29 changes: 29 additions & 0 deletions courses/loops/iterate-using-while-loops.md
Original file line number Diff line number Diff line change
@@ -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`.

<div class="quiz">
نعتذر عن عدم وجود اختبار لهذا الدرس حالياً. نحن نعمل بجد لإعداد اختبارات لجميع الدروس وسنقوم بتوفيرها في أقرب وقت ممكن.
</div>
2 changes: 1 addition & 1 deletion courses/numbers/intro.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: الأرقام والتعامل معها
snippet: هو نوع بيانات في JavaScript يمثل بيانات رقمية.
snippet: هو نوع بيانات في JavaScript يمثل بيانات رقمية
order: 1
---

Expand Down
6 changes: 3 additions & 3 deletions courses/objects/accessing-nested-objects.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: الوصول إلى الكائنات المتداخلة
snippet: لا يوجد
snippet: يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس
order: 8
---

يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس معًا.
يمكن الوصول إلى للكائنات الفرعية عن طريق ربط تدوين النقطة أو القوس.

فيما يلي مثال على كائن متداخل::
فيما يلي مثال على كائن متداخل:

```js
const ourStorage = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: الوصول إلى خاصية مخزنة كقيمة متغير
snippet: يمكن أن يكون هذا مفيدًا جدًا للتكرار على خصائص الكائن
snippet: يمكن أن يكون هذا مفيدًا جدًا للتكرار على خصائص الكائن
order: 3
---

Expand Down
4 changes: 2 additions & 2 deletions courses/objects/delete-properties-from-object.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: حذف الخصائص من كائن
snippet: لا يوجد
snippet: يمكننا أيضًا حذف الخصائص من كائنات
order: 5
---

يمكننا أيضًا حذف الخصائص من كائنات بهذه الطريقة:
يمكننا أيضًا حذف الخصائص من الكائنات بهذه الطريقة:

```js
delete ourDog.bark;
Expand Down
2 changes: 1 addition & 1 deletion courses/objects/manipulating-complex-objects.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: التعامل مع الكائنات المعقدة
snippet: لا يوجد
snippet: في بعض الأحيان قد ترغب في تخزين البيانات في بنية بيانات مرنة
order: 7
---

Expand Down
2 changes: 1 addition & 1 deletion courses/objects/testing-objects-for-properties.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: اختبار خصائص الكائنات
snippet: لا يوجد
snippet: للتحقق من وجود خاصية على كائن معين أم لا
order: 6
---

Expand Down
2 changes: 1 addition & 1 deletion courses/objects/updating-object-properties.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: تحديث و إضافة خصائص جديدة للكائن
snippet: لا يوجد
snippet: يمكنك استخدام تدوين النقطة أو القوس للتحديث
order: 4
---

Expand Down
2 changes: 1 addition & 1 deletion courses/returning-boolean-values-from-functions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: إرجاع القيم المنطقية من الدوال
snippet: لا يوجد
snippet: قد تتذكر من المقارنة مع عامل المساواة أن جميع عوامل المقارنة تُرجع قيمة منطقية صحيحة أو خاطئة
order: 11
---

Expand Down
2 changes: 1 addition & 1 deletion courses/strings/bracket-examples.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: أمثلة على استخدام الأقواس
snippet: استخدم الأقواس للعثور على الحرف N في سلسلة
snippet: استخدم الأقواس للعثور على الحرف في سلسلة
order: 6
---

Expand Down
2 changes: 1 addition & 1 deletion courses/strings/concatenating-strings.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: سلاسل مترابطة
snippet: في JavaScript، عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة
snippet: في JavaScript عندما يتم استخدام عامل التشغيل + مع قيمة سلسلة
order: 2
---

Expand Down
2 changes: 1 addition & 1 deletion courses/strings/intro.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: السلاسل والتعامل معها
snippet: هو نوع بيانات في JavaScript يمثل نص من عدا حروف.
snippet: هو نوع بيانات في JavaScript يمثل نص من عدا حروف
order: 1
---

Expand Down
2 changes: 1 addition & 1 deletion courses/strings/length.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: العثور على طول السلسلة
snippet: يمكنك العثور على طول قيمة السلسلة عن طريق
snippet: يمكنك العثور على طول قيمة السلسلة عن طريق
order: 3
---

Expand Down
5 changes: 3 additions & 2 deletions courses/strings/understand-immutability.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: فهم ثبات السلسلة
snippet: في JavaScript، تكون قيم السلسلة غير قابلة للتغيير
snippet: في JavaScript تكون قيم السلسلة غير قابلة للتغيير
order: 5
---

Expand All @@ -23,7 +23,8 @@ myPet[0] = "B";
let myPet = "Cat";
myPet = "Bat";
```

<div class="quiz">
يبدوا أني قد كتبت كلمة فيل بطريقة خاطئة. قم بتغيير الحرف الأول من
السلسلة <code>animal</code> إلى ف.
</div>
</div>
2 changes: 1 addition & 1 deletion courses/variables/uninitialized-variables.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: فهم المتغيرات غير المهيأة
snippet: عندما يتم الإعلان عن متغيرات JavaScript، تكون قيمتها الأولية غير محددة
snippet: عندما يتم الإعلان عن متغيرات تكون قيمتها الأولية غير محددة
order: 3
---

Expand Down
4 changes: 2 additions & 2 deletions routes/[...slug].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ export default function CoursePage(
<Head>
<title>{course.title}</title>
<meta name="description" content={course.snippet} />
<meta name="keywords" content={`${course.title}, ${course.snippet}`} />
<meta name="keywords" content={`${course.title}, ${course.snippet}...`} />
<meta property="og:title" content={course.title} />
<meta property="og:description" content={course.snippet} />
<meta property="og:description" content={`${course.snippet}...`} />
<meta
property="og:url"
content={`https://nakhlahjs.com/${course.slug}`}
Expand Down

0 comments on commit efbe999

Please sign in to comment.