fix(guide): simplify directory structure

This commit is contained in:
Mrugesh Mohapatra
2018-10-16 21:26:13 +05:30
parent f989c28c52
commit da0df12ab7
35752 changed files with 0 additions and 317652 deletions

View File

@@ -0,0 +1,60 @@
---
title: Compare Scopes of the var and let Keywords
localeTitle: قارن Scopes من var واسمح للكلمات الرئيسية
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") واكتب الكود الخاص بك ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":قلم:")
### شرح المشكلة:
نحن بحاجة إلى تغيير `var` `let` نطاق وظيفتنا وإضافة `let` بنطاق الحظر الخاص بنا.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* العثور على `var` واستبدال مع `let` .
> اول أن تحل المشكلة الآن_
* إضافة `let` للمتغير `i` داخل بيان if الخاص بك.
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") الحل الأساسي للكود:
` function checkScope() {
"use strict";
let i = "function scope";
if (true) {
let i = "block scope";
console.log("Block scope i is: ", i);
}
console.log("Function scope i is: ", i);
return i;
}
`
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":صاروخ:") [تشغيل الكود](https://codepen.io/dylantyates/pen/wxwxRd)
# شرح الشفرة:
باستخدام `let` لك يمكن أن تعلن المتغيرات فيما يتعلق بنطاقها.
#### روابط ذات صلة
* [سمح](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": الحافظة:") ملاحظات للمساهمات:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **لا تقم** بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها **_مشابهة ولكن أفضل_** ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - **الأساسي** **والمتوسط** **والمتقدم** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ": traffic_light:")
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي **محتويات رئيسية ذات صلة** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **_لا_** _تزيل أي أسماء مستخدمين حالية_ )
> نرى ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) كمرجع.

View File

@@ -0,0 +1,19 @@
---
title: Create an Export Fallback with export default
localeTitle: قم بإنشاء "تصدير تراجعي" باستخدام الإعداد الافتراضي للتصدير
---
## قم بإنشاء "تصدير تراجعي" باستخدام الإعداد الافتراضي للتصدير
ما هي القيمة الاحتياطية؟ إنه في الأساس افتراض أن الرمز سيعود إذا لم يتم تعيين أي شيء. على سبيل المثال ، تحتوي المتغيرات على القيمة الاحتياطية الافتراضية `undefined` . أن يقال ، تلميحا لهذا التحدي!
## تلميح 1:
ما عليك سوى إضافة `export default` إلى بداية الوظيفة.
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`"use strict";
export default function subtract(x,y) {return x - y;}
`

View File

@@ -0,0 +1,37 @@
---
title: Create Strings Using Template Literals
localeTitle: إنشاء سلاسل باستخدام قوالب حرفية
---
بدلاً من استخدام سلسلة string ، يقدم ES6 القيم الحرفية للقوالب لإنشاء سلاسل. في هذا التحدي ، يجب عليك استخدام القيم الحرفية للقالب لإنشاء صف من التحذيرات النصية.
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج وكتابة التعليمات البرمجية الخاصة بك.
### شرح المشكلة:
مطلوب لاستخدام القيم الحرفية للقالب لإرجاع قائمة كل عنصر في الصفيف حيث سيتم لف العنصر في علامة `<li></li>` .
## تلميح: 1
* استخدم الدالة `map()` لتطبيق القيم الحرفية على كافة عناصر `arr`
> اول أن تحل المشكلة الآن_
## تلميح: 2
* داخل `map()` استخدم وظيفة السهم التي تحتوي على `element` كمعلمة وترجع `<li></li>` التي تحتوي على فئة تحذير النص وتحتوي على `element` بداخلها
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
``const resultDisplayArray = arr.map(item => `<li class="text-warning">${item}</li>`);``
## لا خريطة () الحل
على الرغم من أنه حل أقل مرونة ، إذا كنت تعرف عدد العناصر مقدمًا ، يمكنك تعدادها كما هو موضح في
``const resultDisplayArray = [`<li class="text-warning">${arr[0]}</li>`, `<li class="text-warning">${arr[1]}</li>` ,`<li class="text-warning">${arr[2]}</li>`];``

View File

@@ -0,0 +1,67 @@
---
title: Declare a Read-Only Variable with the const Keyword
localeTitle: قم بتعريف متغير للقراءة فقط مع الكلمة الأساسية const
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") واكتب الكود الخاص بك ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":قلم:")
### شرح المشكلة:
تغيير جميع المتغيرات `let` أو `const` وإعادة تسمية `sentence` .
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* استبدال `var` للسلسلة مع `const` للقراءة فقط.
> اول أن تحل المشكلة الآن_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* استبدل `var` in `for` loop `let` .
> اول أن تحل المشكلة الآن_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* الاصطلاح الشائع هو تسمية المتغيرات `const` مع ALL CAPS.
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") الحل الأساسي للكود:
` function printManyTimes(str) {
"use strict";
const SENTENCE = str + " is cool!";
for(let i = 0; i < str.length; i+=2) {
console.log(SENTENCE);
}
}
printManyTimes("freeCodeCamp");
`
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":صاروخ:") [تشغيل الكود](https://codepen.io/dylantyates/pen/OwVxyx)
# شرح الشفرة:
باستخدام `const` في `sentence` يمكننا ان نجعلها للقراءة فقط وباستخدام `let` على `i` داخل لحلقة يمكننا تجنب استخدام `var` كل ذلك معا. لمزيد من الوضوح في الشفرة ، يمكننا أيضًا تغيير `sentence` إلى `SENTENCE` لإظهار أنها ثابتة.
#### روابط ذات صلة
* [CONST](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const)
* [سمح](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": الحافظة:") ملاحظات للمساهمات:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **لا تقم** بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها **_مشابهة ولكن أفضل_** ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - **الأساسي** **والمتوسط** **والمتقدم** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ": traffic_light:")
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي **محتويات رئيسية ذات صلة** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **_لا_** _تزيل أي أسماء مستخدمين حالية_ )
> نرى ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) كمرجع.

View File

@@ -0,0 +1,57 @@
---
title: Explore Differences Between the var and let Keywords
localeTitle: استكشاف الاختلافات بين فار والسماح للكلمات الرئيسية
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") واكتب الكود الخاص بك ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":قلم:")
### شرح المشكلة:
نحتاج إلى تغيير كل `var` `let` برمزنا.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* العثور على كل `var` واستبدال مع `let` .
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") الحل الأساسي للكود:
` let catName;
let quote;
function catTalk() {
"use strict";
catName = "Oliver";
quote = catName + " says Meow!";
}
catTalk();
`
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":صاروخ:") [تشغيل الكود](https://codepen.io/dylantyates/pen/eKqoGY)
# شرح الشفرة:
باستخدام `let` بدلاً من `var` يمكننا تجنب `catName` `quote` .
#### روابط ذات صلة
* [فار](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var)
* [سمح](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": الحافظة:") ملاحظات للمساهمات:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **لا تقم** بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها **_مشابهة ولكن أفضل_** ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - **الأساسي** **والمتوسط** **والمتقدم** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ": traffic_light:")
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي **محتويات رئيسية ذات صلة** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **_لا_** _تزيل أي أسماء مستخدمين حالية_ )
> نرى ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) كمرجع.

View File

@@ -0,0 +1,20 @@
---
title: Import a Default Export
localeTitle: استيراد تصدير افتراضي
---
## استيراد تصدير افتراضي
يكون استيراد قيمة افتراضية للتصدير هو نفسه تقريبًا عند استيراد تصدير عادي ؛ أنت لا تحتاج إلى الأقواس المتعرجة لتحديد اسم ما تستورده من الملف!
## تلميح 1:
املأ الفراغات: `import _ from "file-name"` . قم بتوصيل اسم الوحدة (الذي يتم `subtract` ) إلى `_` ووضع `"math-functions"` في `"file-name"` .
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`"use strict";
import subtract from "math_functions";
subtract(7,4);
`

View File

@@ -0,0 +1,11 @@
---
title: ES6
localeTitle: ES6
---
## ES6
هذا هو كعب. [ساعد مجتمعنا على توسيعه](https://github.com/freecodecamp/guides/tree/master/src/pages/mathematics/quadratic-equations/index.md) .
[سيساعدك دليل النمط السريع هذا على ضمان قبول طلب السحب](https://github.com/freecodecamp/guides/blob/master/README.md) .
#### معلومات اكثر:

View File

@@ -0,0 +1,61 @@
---
title: Mutate an Array Declared with const
localeTitle: Mutate An Array مع const
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") واكتب الكود الخاص بك ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":قلم:")
### شرح المشكلة:
إعادة تعيين قيم المتغير `const` `s` باستخدام تعيين عنصر مختلف.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* يمكنك تغيير قيم المصفوفة على `const` مثل يمكنك مع `var` أو `let` .
> اول أن تحل المشكلة الآن_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* للوصول إلى صفيف استخدام صفيف القيمة \[index\]
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") الحل الأساسي للكود:
` const s = [5, 7, 2];
function editInPlace() {
"use strict";
s[0] = 2;
s[1] = 5;
s[2] = 7;
}
editInPlace();
`
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":صاروخ:") [تشغيل الكود](https://codepen.io/dylantyates/pen/djoVjW)
# شرح الشفرة:
في محاولة لإعادة تعيين للقراءة فقط `const` سوف متغير رمي خطأ، ولكن باستخدام عنصر مهمة مختلفة يمكنك الوصول إلى وتغيير القيمة من مجموعة مثلما تفعل مع `let` أو `var` .
#### روابط ذات صلة
* [CONST](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const)
* [مجموعة مصفوفة](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": الحافظة:") ملاحظات للمساهمات:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **لا تقم** بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها **_مشابهة ولكن أفضل_** ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - **الأساسي** **والمتوسط** **والمتقدم** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ": traffic_light:")
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي **محتويات رئيسية ذات صلة** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **_لا_** _تزيل أي أسماء مستخدمين حالية_ )
> نرى ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) كمرجع.

View File

@@ -0,0 +1,63 @@
---
title: Prevent Object Mutation
localeTitle: منع تحول الكائن
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") واكتب الكود الخاص بك ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":قلم:")
### شرح المشكلة:
نحن بحاجة إلى منع `MATH_CONSTANTS` من التغيير.
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* استخدم Object.freeze (obj) لمنع الكائن من التغيير.
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") الحل الأساسي للكود:
` function freezeObj() {
"use strict";
const MATH_CONSTANTS = {
PI: 3.14
};
Object.freeze(MATH_CONSTANTS);
try {
MATH_CONSTANTS.PI = 99;
} catch( ex ) {
console.log(ex);
}
return MATH_CONSTANTS.PI;
}
const PI = freezeObj();
`
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":صاروخ:") [تشغيل الكود](https://codepen.io/dylantyates/pen/OwVxYB)
# شرح الشفرة:
باستخدام Object.freeze () على `MATH_CONSTANTS` يمكننا تجنب التلاعب بها.
#### روابط ذات صلة
* [Object.freeze ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": الحافظة:") ملاحظات للمساهمات:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **لا تقم** بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها **_مشابهة ولكن أفضل_** ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - **الأساسي** **والمتوسط** **والمتقدم** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ": traffic_light:")
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي **محتويات رئيسية ذات صلة** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **_لا_** _تزيل أي أسماء مستخدمين حالية_ )
> نرى ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) كمرجع.

View File

@@ -0,0 +1,70 @@
---
title: Set Default Parameters for Your Functions
localeTitle: تعيين المعلمات الافتراضية لوظائفك
---
## تعيين المعلمات الافتراضية لوظائفك
: _علم_ ثلاثي على _المشاركة: تذكر استخدام Read-Search-Ask إذا واجهتك مشكلة. حاول إقران البرنامج:_ busts in\_silhouette: واكتب رمزك الخاص: قلم رصاص:
### : checkered\_flag: مشكلة التفسير:
`const increment = (function() {
"use strict";
return function increment(number, value) {
return number + value;
};
})();
console.log(increment(5, 2)); // returns 7
console.log(increment(5)); // returns NaN
`
سنقوم بتعديل دالة الزيادة بحيث يتم زيادة معلمة **الرقم** بمقدار 1 بشكل افتراضي ، عن طريق تعيين **القيمة** إلى 1 إذا لم يتم تمرير **قيمة للقيمة** إلى دالة الزيادة.
### : speech\_balloon: تلميح: 1
دعونا تحديد مكان **قيمة** المعلمة في وظيفة JS
حاول أن تحل المشكلة الآن
### : speech\_balloon: تلميح: 2
تعيين **قيمة** مساوية لشيء بحيث تكون هذه القيمة بشكل افتراضي
حاول أن تحل المشكلة الآن
### تنبيه المفسد!
![المفسد](http://discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
الحل في المستقبل!
## : مبتدئ: حل الرمز الأساسي:
`const increment = (function() {
"use strict";
return function increment(number, value = 1) {
return number + value;
};
})();
console.log(increment(5, 2)); // returns 7
console.log(increment(5)); // returns NaN
`
: صاروخ: [تشغيل التعليمات البرمجية](https://repl.it/@RyanPisuena/PleasingFumblingThings)
## شرح الشفرة
* هذا القسم بسيط جدا. تمرير هذا القسم عن طريق تعيين المعلمة **قيمة** تساوي 1. عندما تأتي وظيفة في حالات الاختبار حيث لم يتم تمرير **قيمة** أي شيء، ثم سيتم تعيين **قيمة** واحدة بشكل افتراضي.
روابط ذات صلة:
[معاملات جافا سكريبت الافتراضية](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters)
# : الحافظة: ملاحظات للمساهمات:
* : تحذير: لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط ​​والمتقدم. : traffic\_light:
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة. (: تحذير: لا تقم بإزالة أي أسماء مستخدمين موجودة)
انظر: point\_right: [Wiki Challenge Solution Template](https://forum.freecodecamp.org/t/freecodecamp-algorithm-challenge-template-guide/14272) كمرجع.

View File

@@ -0,0 +1,22 @@
---
title: Understand the Differences Between import and require
localeTitle: فهم الاختلافات بين الاستيراد وتتطلب
---
## فهم الاختلافات بين الاستيراد وتتطلب
دعونا نوضح: `require()` تحميل الملف بأكمله ومكوناته (الوظائف ، المتغيرات) ، في حين أن `import _ from` يسمح لك باختيار المكونات التي تريدها.
في هذا الدرس ، يتم تكليفك باستيراد الدالة `capitalizeStrings()` ، التي تأتي من الملف `"string-functions"` .
## تلميح 1:
املأ الفراغات: `import { function_name } from "file_name"` . اسم الدالة الخاص بك هو `capitalizeStrings` واسم الملف الخاص بك هو `"string-functions"` .
## تنبيه المفسد - الحل إلى الأمام!
## حل
`"use strict";
import { capitalizeString } from "string-functions";
capitalizeString("hello!");
`

View File

@@ -0,0 +1,19 @@
---
title: Use * to Import Everything from a File
localeTitle: استخدم * لاستيراد كل شيء من ملف
---
## استخدم \* لاستيراد كل شيء من ملف
إذا كنت ترغب في استيراد كل شيء ممكن من ملف ، فإنك تستخدم `import * as _ from` بناء الجملة ، المقدم من ES6. هذا هو بالضبط ما كنت في مهمة في هذا التحدي!
## تلميح 1:
املأ الفراغات: `import * as objName from "file-name"` . يمكنك أن تكون مبدعًا مع `objName` ، ولكن يجب أن يكون اسم الملف الخاص بك هو `capitalize_strings` .
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`"use strict";
import * as str from "capitalize_strings";
`

View File

@@ -0,0 +1,29 @@
---
title: Use Arrow Functions to Write Concise Anonymous Functions
localeTitle: استخدم Arrow Functions لكتابة الدالات المجهولة
---
## استخدم Arrow Functions لكتابة الدالات المجهولة
مرة أخرى ، يدور ES6 حول جعل جافا سكريبت أكثر أناقة ، والبعض الآخر أكثر قابلية للقراءة.
يمكن إنشاء الوظائف المجهولة ، كما هو مذكور ، عندما تكون متأكداً من أنه لن يتم استدعاء الدالة بالاسم في أي مكان آخر.
## تلميح 1:
تخلص من كلمة مفتاح `function` ، وقم بتوصيل هذا `=>` السهم.
## تلميح 2:
هل تخلصت من الكلمة الرئيسية `var` ؟
## تنبيه المفسد - الحل إلى الأمام!
## حل
`const magic = () => {
"use strict";
return new Date();
};
`
طالما أنك تخلصت من الكلمة الرئيسية `var` ، فأنت جيد.

View File

@@ -0,0 +1,55 @@
---
title: Use class Syntax to Define a Constructor Function
localeTitle: استخدم بناء جملة class لتعريف دالة منشئ
---
## استخدم بناء جملة class لتعريف دالة منشئ
في هذا الدرس ، تقوم بتعريف كائن Vegetable باستخدام بناء جملة class.
## تلميح 1:
إنشاء فئة تسمى `Vegetable` . وسوف تحتوي على التفاصيل اللازمة حول كائن `Vegetable` .
## تلميح 2:
ضع `this.name` تسمى `name` ، `this.name` على `this.name` .
## تنبيه المفسد - الحل إلى الأمام!
## حل:
`function makeClass() {
"use strict";
/* Alter code below this line */
class Vegetable {
constructor(name){
this.name = name;
}
}
/* Alter code above this line */
return Vegetable;
}
`
\=======
تحذير المفسد: هنا هو الحل الأساسي لهذا التحدي في حال تمسكك.
`function makeClass() {
"use strict";
/* Alter code below this line */
class Vegetable {
constructor(Vegetable){
this.Vegetable = Vegetable;
}
}
/* Alter code above this line */
return Vegetable;
}
const Vegetable = makeClass();
const carrot = new Vegetable('carrot');
console.log(carrot.name); // => should be 'carrot'
`

View File

@@ -0,0 +1,14 @@
---
title: Use Destructuring Assignment to Assign Variables from Arrays
localeTitle: استخدم Destructuring Assignment لتعيين متغيرات من صفائف
---
## استخدم Destructuring Assignment لتعيين متغيرات من صفائف
علينا اتخاذ بعض الاحتياطات في هذه الحالة.
1. لا حاجة للثابتة \[ب ، أ\] لأنها ستحافظ على تأثير الواجب المحلي.
2. const \[b، a\] = \[a، b\] سيؤدي إلى قيمة a ، مثل b غير محددة (قاعدة تخصيص بسيطة من اليسار إلى اليمين).
ومن هنا حل هذه المشكلة \[b، a\] = \[a، b\]

View File

@@ -0,0 +1,16 @@
---
title: Use Destructuring Assignment to Assign Variables from Nested Objects
localeTitle: استخدم Destructuring Assignment لتعيين متغيرات من الكائنات المتداخلة
---
## استخدم Destructuring Assignment لتعيين متغيرات من الكائنات المتداخلة
نصيحة لاجتياز الاختبار النهائي: _تم استخدام التدمير المتداخل_
يريد الاختبار الحصول على `max` والحد `max` فقط. إذا قمت بتفكيك ثابت الخاص بك لاحتواء كلاً من `max` و `min` ، فسوف يفشل الاختبار.
## المفسد!
هنا هو الحل رمز:
`const { tomorrow: { max: maxOfTomorrow } } = forecast;
`

View File

@@ -0,0 +1,21 @@
---
title: Use Destructuring Assignment to Assign Variables from Objects
localeTitle: استخدم Destructuring Assignment لتعيين متغيرات من الكائنات
---
## استخدم Destructuring Assignment لتعيين متغيرات من الكائنات
# يتطلب هذا التحدي بعض الحدس حول كائنات السلسلة في javascript.
عند إنشاء كائن سلسلة يستند إلى [النموذج الأولي السلسلة](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/prototype) .
وبالتالي ، فإن لكل سلسلة خاصية طولية ؛ genericString = {length: 13}. (هذه هي الخاصية المعتمدة فقط من String.prototype.)
# إعادة تعيين خصائص باستخدام deconstruction.
`var basicOjb = {x: 40};
//To reassign 'get the value of the x property of basicObj and place its value into bigX' in ES6:
const { x: bigX } = basicOjb;
consle.log(bigX) // ans = 40
`
ضع قيمة الخاصية الطول 'str' في len.

View File

@@ -0,0 +1,47 @@
---
title: Use Destructuring Assignment to Pass an Object as a Function's Parameters
localeTitle: استخدم Destructuring Assignment لتمرير كائن كمعامل الدالة
---
## استخدم Destructuring Assignment لتمرير كائن كمعامل الدالة
يمكنك تمرير الكائن بأكمله ، ثم اختيار السمات المحددة التي تريدها باستخدام `.` المشغل أو العامل. لكن ES6 يقدم خيار أكثر أناقة!
## تلميح 1:
تخلص من `stats` ، وتحقق مما إذا كان بإمكانك تدميرها. نحن بحاجة إلى `max` و `min` من `stats` .
## تحذير المفسد - حلول قادمة!
## الحل 1:
`const half = (function() {
"use strict"; // do not change this line
// change code below this line
return function half({max, min}) {
// use function argument destructuring
return (max + min) / 2.0;
};
// change code above this line
})();
`
لاحظ أننا ندمر `stats` لتمرير اثنين من صفاتها - `max` `min` - إلى الوظيفة. لا تنس تعديل بيان الإرجاع الثاني. تغيير `stats.max` إلى `max` ، وتغيير `stats.min` إلى `min` فقط.
## الحل 2:
هنا هو حل آخر يعمل. ليس الكثير من الاختلاف ، بخلاف حقيقة أن الوظيفة لا تملك اسمًا.
`const half = (function() {
"use strict"; // do not change this line
// change code below this line
return (({max, min}) => {
// use function argument destructuring
return (max + min) / 2.0;
});
// change code above this line
})();
`

View File

@@ -0,0 +1,67 @@
---
title: Use Destructuring Assignment with the Rest Operator to Reassign Array Elements
localeTitle: استخدم Destructuring Assignment مع عامل التشغيل الباقي لإعادة تعيين عناصر المصفوفة
---
## استخدم Destructuring Assignment مع عامل التشغيل الباقي لإعادة تعيين عناصر المصفوفة
تذكر أن المشغل الباقي يسمح للأعداد المتغيرة من الوسيطات. في هذا التحدي ، عليك التخلص من العنصرين الأولين في مصفوفة.
## تلميح 1:
قم بتعيين أول عنصرين إلى متغيرين عشوائيين.
## تلميح 2:
اضبط الجزء المتبقي من المصفوفة على `...arr` .
\=======
## تلميح 1
استخدم destructuring لإنشاء متغير `arr` .
`function removeFirstTwo(list) {
"use strict";
// change code below this line
const [arr] = list; // change this
// change code above this line
return arr;
}
`
## تلميح 2
انشر معلمة `list` في `arr` .
`function removeFirstTwo(list) {
"use strict";
// change code below this line
const [...arr] = list; // change this
// change code above this line
return arr;
}
`
## تلميح 3
استبعاد أول عنصرين من صفيف `arr` مع `,,` .
`function removeFirstTwo(list) {
"use strict";
// change code below this line
const [,,...arr] = list; // change this
// change code above this line
return arr;
}
`
## تنبيه المفسد - الحل إلى الأمام!
`function removeFirstTwo(list) {
"use strict";
// change code below this line
const [a, b, ...arr] = list;
// change code above this line
return arr;
}
`

View File

@@ -0,0 +1,22 @@
---
title: Use export to Reuse a Code Block
localeTitle: استخدم التصدير لإعادة استخدام كتلة تعليمات برمجية
---
## استخدم التصدير لإعادة استخدام كتلة تعليمات برمجية
تعلمنا كيفية استيراد الأشياء من ملف آخر. لكن هناك صيد يمكنك فقط استيراد الملفات التي يتم **تصديرها** من هذا الملف الآخر.
مهمتك هنا هي تصدير `foo` و `bar` .
## تلميح 1:
ما عليك سوى إضافة تصدير أمامهم!
## تنبيه المفسد - الحل إلى الأمام!
## حل
`"use strict";
export const foo = "bar";
export const bar = "foo";
`

View File

@@ -0,0 +1,48 @@
---
title: Use getters and setters to Control Access to an Object
localeTitle: استخدام getters والمستقرون على التحكم في الوصول إلى كائن
---
## استخدام getters والمستقرون على التحكم في الوصول إلى كائن
تمثل الحروف والأجسام أجزاء مهمة من فئة / كائن. تسمح لك بالتحكم في سماتها من الخارج. سوف تصبح أكثر بروزًا عند بدء استخدام وحدة البرمجة الشيئية (القادمة!). في الوقت الحالي ، يوضح لك هذا التمرين كيفية التلاعب بها مع ES6.
## تلميح 1:
خلق الطبقة ، ترموستات. أنت ذاهب لوضع المنشئ الخاص بك ، الثرى ، واضعة هنا.
## تلميح 2:
إعطاء المعلمة معلمة (والتي يمكنك تسمية أي شيء تريده). قم بتعيين المعلمة إلى سمة بنفس الاسم. تذكر ، أنت في البداية وضع الأشياء في درجة حرارة فهرنهايت.
## تلميح 3:
إنشاء طريقة get يحول سمة Farenheit إلى مئوية. استخدم الصيغة المقدمة لك.
## تلميح 4:
قم بإنشاء طريقة تعيين بنفس الاسم مثل طريقة get. يجب أن تحتوي على معلمة تقبل درجة حرارة مئوية. تحويله إلى farenheit ، وتعيينه إلى السمة.
## تنبيه المفسد - الحل إلى الأمام!
## حل
`function makeClass() {
"use strict";
/* Alter code below this line */
class Thermostat{
constructor(farenheit){
this.farenheit = farenheit;
}
get temperature(){
return 5 / 9 * (this.farenheit - 32);
}
set temperature(celsius){
this.farenheit = celsius * 9.0 / 5 + 32;
}
}
/* Alter code above this line */
return Thermostat;
}
`

View File

@@ -0,0 +1,44 @@
---
title: Use the Rest Operator with Function Parameters
localeTitle: استخدم المشغل الباقي مع معلمات الدالة
---
## استخدم المشغل الباقي مع معلمات الدالة
### تفسير المعلمة الباقية
[شبكة مطوري موزيلا](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters "شبكة مطوري موزيلا")
### انتشار عامل مقارنة مع المعلمة بقية
[تجاوز المكدس](https://stackoverflow.com/questions/33898512/spread-operator-vs-rest-parameter-in-es2015-es6 "Stack Overflow")
### فيديو يشرح الانتشار والراحة
[!["صورة](http://img.youtube.com/vi/iLx4ma8ZqvQ/0.jpg)](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)
[### مثال
هذا الرمز
`const product = (function() {
"use strict";
return function product(n1, n2, n3) {
const args = [n1, n2, n3];
return args.reduce((a, b) => a * b, 1);
};
})();
console.log(product(2, 4, 6));//48
`
يمكن كتابتها على هذا النحو
`const product = (function() {
"use strict";
return function product(...n) {
return n.reduce((a, b) => a * b, 1);
};
})();
console.log(product(2, 4, 6));//48
`](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)

View File

@@ -0,0 +1,45 @@
---
title: Use the Spread Operator to Evaluate Arrays In-Place
localeTitle: استخدم Spread Operator لتقييم Arrays في - مكان
---
## استخدم Spread Operator لتقييم Arrays في - مكان
### وأوضح انتشار المشغل
[Mozilla Developer Network Spread Operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax "شبكة مطوري موزيلا")
### انتشار المشغل مقارنة مع بقية المعلمة
[Stack Overflow](https://stackoverflow.com/questions/33898512/spread-operator-vs-rest-parameter-in-es2015-es6 "Stack Overflow")
### فيديو شرح المشغل انتشار وبقية المعلمة
[!["صورة](http://img.youtube.com/vi/iLx4ma8ZqvQ/0.jpg)](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)
[
### معلومات حول تطبيق () طريقة
](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)
[](http://www.youtube.com/watch?feature=player_embedded&v=iLx4ma8ZqvQ
)[موزيلا مطور شبكة تطبيق طريقة](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply "شبكة مطوري موزيلا")
### 3 أمثلة سريعة
`let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min.apply(null, numbers);
console.log(minNum);//-12
`
`let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min(numbers);
console.log(minNum);//NaN
`
`let numbers = [-12, 160, 0, -3, 51];
let minNum = Math.min(...numbers);
console.log(minNum);//-12
`

View File

@@ -0,0 +1,29 @@
---
title: Write Arrow Functions with Parameters
localeTitle: كتابة وظائف السهم مع المعلمات
---
## كتابة وظائف السهم مع المعلمات
هنا هو [مورد رائع عن وظائف مجهولة في جافا سكريبت](http://helephant.com/2008/08/23/javascript-anonymous-functions/) ، في حال كنت لا تزال تتساءل ما هي ، ودورها.
الآن ، يتم تكليفك بوضع المعلمات داخل وظائف الأسهم.
## تلميح 1:
تخلص من الكلمة `function` . ضع عامل السهم.
## تلميح 2:
تأكد من تغيير `var` إلى `const` .
## تحذير المفسد - الحل إلى الأمام!
## حل:
`const myConcat = (arr1, arr2) => {
"use strict";
return arr1.concat(arr2);
};
// test your code
console.log(myConcat([1, 2], [3, 4, 5]));
`

View File

@@ -0,0 +1,24 @@
---
title: Write Concise Declarative Functions with ES6
localeTitle: كتابة وظائف التعريفي موجزة مع ES6
---
## كتابة وظائف التعريفي موجزة مع ES6
ES6 يجعل من السهل ، والخيال ، لكتابة وظائف الإعلان! في هذا الدرس ، يتم تكليفك بتغيير الوظيفة لمتابعة معايير ES6.
## تلميح 1:
تخلص من الكلمة `function` .
## تنبيه المفسد - الحل إلى الأمام!
## حل
`const bicycle = {
gear: 2,
setGear(newGear) {
"use strict";
this.gear = newGear;
}
};
`

View File

@@ -0,0 +1,27 @@
---
title: Write Concise Object Literal Declarations Using Simple Fields
localeTitle: كتابة تعريفات كائن حرفي باستخدام حقول بسيطة
---
## كتابة تعريفات كائن حرفي باستخدام حقول بسيطة
هنا ، نحن مكلفون بإرجاع كائن يقبل معلمات الدالة كخصائصها.
# تلميح 1:
تخلص من النقطتين ، والكلمات المكررة.
## تنبيه المفسد - الحل إلى الأمام
## حل
`const createPerson = (name, age, gender) => {
"use strict";
// change code below this line
return {
name,
age,
gender
};
// change code above this line
};
`

View File

@@ -0,0 +1,69 @@
---
title: Write Higher Order Arrow Functions
localeTitle: اكتب وظائف السهم لأعلى ترتيب
---
![](//discourse-user-assets.s3.amazonaws.com/original/2X/3/3c8584a085a0deaea66b3400e6321eeadab552a2.jpg)
![:triangular_flag_on_post:](https://forum.freecodecamp.com/images/emoji/emoji_one/triangular_flag_on_post.png?v=3 ": triangular_flag_on_post:") تذكر استخدام **`Read-Search-Ask`** إذا واجهتك مشكلة. حاول إقران البرنامج ![:busts_in_silhouette:](https://forum.freecodecamp.com/images/emoji/emoji_one/busts_in_silhouette.png?v=3 ": busts_in_silhouette:") واكتب الكود الخاص بك ![:pencil:](https://forum.freecodecamp.com/images/emoji/emoji_one/pencil.png?v=3 ":قلم:")
### شرح المشكلة:
نحن بحاجة إلى حساب وقيم مربعة من `realNumberArray` وتخزينها في `squaredIntegers` متغير باستخدام `squaredIntegers` `map()` ، `filter()` ، و / أو `reduce()` .
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 1
* ستحتاج إلى `filter()` `realNumberArray` للأعداد الصحيحة الموجبة (الكسور العشرية ليست الأعداد الصحيحة).
> اول أن تحل المشكلة الآن_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 2
* ستحتاج إلى `map()` القيم من الدالة `filter()` إلى `squaredIntegers` المتغير.
> اول أن تحل المشكلة الآن_
## ![:speech_balloon:](https://forum.freecodecamp.com/images/emoji/emoji_one/speech_balloon.png?v=3 ": speech_balloon:") تلميح: 3
* تذكر سحر وظائف التسلسل.
> اول أن تحل المشكلة الآن_
## تنبيه المفسد!
![علامة تحذير](//discourse-user-assets.s3.amazonaws.com/original/2X/2/2d6c412a50797771301e7ceabd554cef4edcd74d.gif)
**الحل في المستقبل!**
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") الحل الأساسي للكود:
` const squareList = (arr) => {
"use strict";
const squaredIntegers = arr.filter( (num) => num > 0 && num % parseInt(num) === 0 ).map( (num) => Math.pow(num, 2) );
return squaredIntegers;
};
// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);
`
![:rocket:](https://forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=3 ":صاروخ:") [تشغيل الكود](https://codepen.io/dylantyates/pen/WyWoYJ)
# شرح الشفرة:
يستخدم عامل `filter()` عوامل `filter()` و `map()` لترقيم كل الأعداد الصحيحة الموجبة في مصفوفة معينة.
#### روابط ذات صلة
* [خريطة()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
* [منقي()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)
* [خفض()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce)
## ![:clipboard:](https://forum.freecodecamp.com/images/emoji/emoji_one/clipboard.png?v=3 ": الحافظة:") ملاحظات للمساهمات:
* ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **لا تقم** بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها **_مشابهة ولكن أفضل_** ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
* أضف شرحًا لحلك.
* تصنيف الحل في واحدة من الفئات التالية - **الأساسي** **والمتوسط** **والمتقدم** . ![:traffic_light:](https://forum.freecodecamp.com/images/emoji/emoji_one/traffic_light.png?v=3 ": traffic_light:")
* الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي **محتويات رئيسية ذات صلة** . ( ![:warning:](https://forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=3 ":تحذير:") **_لا_** _تزيل أي أسماء مستخدمين حالية_ )
> نرى ![:point_right:](https://forum.freecodecamp.com/images/emoji/emoji_one/point_right.png?v=3 ": point_right:") [**`Wiki Challenge Solution Template`**](http://forum.freecodecamp.com/t/algorithm-article-template/14272) كمرجع.