fix: converted single to triple backticks3 (#36230)

This commit is contained in:
Randell Dawson
2019-06-20 14:05:02 -07:00
committed by Tom
parent ac2192ce7a
commit 0011f254c1
75 changed files with 991 additions and 888 deletions

View File

@ -38,34 +38,35 @@ for (let user in obj) {
### حل: ### حل:
`let users = { ```javascript
Alan: { let users = {
age: 27, Alan: {
online: false age: 27,
}, online: false
Jeff: { },
age: 32, Jeff: {
online: true age: 32,
}, online: true
Sarah: { },
age: 48, Sarah: {
online: false age: 48,
}, online: false
Ryan: { },
age: 19, Ryan: {
online: true age: 19,
} online: true
}; }
function countOnline(obj) { };
// change code below this line function countOnline(obj) {
let result = 0; // change code below this line
for (let user in obj) { let result = 0;
if(obj[user].online === true) { for (let user in obj) {
result++; if(obj[user].online === true) {
} result++;
} }
return result; }
// change code above this line return result;
} // change code above this line
console.log(countOnline(users)); }
` console.log(countOnline(users));
```

View File

@ -8,5 +8,6 @@ localeTitle: الوصول إلى محتويات صفيف باستخدام تدر
## حل ## حل
`myArray[1] = "anything we want"; ```javascript
` myArray[1] = "anything we want";
```

View File

@ -11,32 +11,34 @@ localeTitle: الوصول إلى خاصية الأسماء مع تدرج قوس
## مثال: ## مثال:
`let juice = { ```javascript
apple: 1.15, let juice = {
orange: 1.45 apple: 1.15,
}; orange: 1.45
function checkInventory(scannedItem) { };
return juice[scannedItem]; function checkInventory(scannedItem) {
} return juice[scannedItem];
` }
```
## حل: ## حل:
`let foods = { ```javascript
apples: 25, let foods = {
oranges: 32, apples: 25,
plums: 28, oranges: 32,
bananas: 13, plums: 28,
grapes: 35, bananas: 13,
strawberries: 27 grapes: 35,
}; strawberries: 27
// do not change code above this line };
// do not change code above this line
function checkInventory(scannedItem) {
// change code below this line function checkInventory(scannedItem) {
return foods[scannedItem]; // change code below this line
} return foods[scannedItem];
}
// change code below this line to test different cases:
console.log(checkInventory("apples")); // change code below this line to test different cases:
` console.log(checkInventory("apples"));
```

View File

@ -8,14 +8,15 @@ localeTitle: إضافة عناصر إلى مصفوفة بدفع () و unshift ()
## حل: ## حل:
`function mixedNumbers(arr) { ```javascript
// change code below this line function mixedNumbers(arr) {
arr.unshift('I',2,'three'); // change code below this line
arr.push(7,'VIII', 9); arr.unshift('I',2,'three');
// change code above this line arr.push(7,'VIII', 9);
return arr; // change code above this line
} return arr;
}
// do not change code below this line
console.log(mixedNumbers(['IV', 5, 'six'])); // do not change code below this line
` console.log(mixedNumbers(['IV', 5, 'six']));
```

View File

@ -20,13 +20,14 @@ localeTitle: إضافة عناصر باستخدام لصق ()
## حل: ## حل:
`function htmlColorNames(arr) { ```javascript
// change code below this line function htmlColorNames(arr) {
arr.splice(0, 2, "DarkSalmon", "BlanchedAlmond"); // change code below this line
// change code above this line arr.splice(0, 2, "DarkSalmon", "BlanchedAlmond");
return arr; // change code above this line
} return arr;
}
// do not change code below this line
console.log(htmlColorNames(['DarkGoldenRod', 'WhiteSmoke', 'LavenderBlush', 'PaleTurqoise', 'FireBrick'])); // do not change code below this line
` console.log(htmlColorNames(['DarkGoldenRod', 'WhiteSmoke', 'LavenderBlush', 'PaleTurqoise', 'FireBrick']));
```

View File

@ -6,22 +6,24 @@ localeTitle: إضافة أزواج Key-Value إلى كائنات JavaScript
* وقد أعلن بالفعل كائن الأطعمة. كل ما تبقى القيام به هو إضافة ثلاث `key-values` جديدة. * وقد أعلن بالفعل كائن الأطعمة. كل ما تبقى القيام به هو إضافة ثلاث `key-values` جديدة.
`OBJECT[{KEY}] = {VALUE} ```javascript
` OBJECT[{KEY}] = {VALUE}
```
* سيعمل الرمز أعلاه على إنشاء `key-value` ney داخل الكائن. * سيعمل الرمز أعلاه على إنشاء `key-value` ney داخل الكائن.
## حل ## حل
`let foods = { ```javascript
apples: 25, let foods = {
oranges: 32, apples: 25,
plums: 28 oranges: 32,
}; plums: 28
// change code below this line };
foods['bananas'] = 13; // change code below this line
foods['grapes'] = 35; foods['bananas'] = 13;
foods['strawberries'] = 27; foods['grapes'] = 35;
// change code above this line foods['strawberries'] = 27;
console.log(foods); // change code above this line
` console.log(foods);
```

View File

@ -10,21 +10,23 @@ localeTitle: التحقق من وجود عنصر مع indexOf ()
## حل 1: ## حل 1:
`function quickCheck(arr, elem) { ```javascript
if(arr.indexOf(elem)>=0) { function quickCheck(arr, elem) {
return true; if(arr.indexOf(elem)>=0) {
} return true;
return false; }
} return false;
console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms')); }
` console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'));
```
* يوضح `Solution-2` كيف يمكن حل المشكلة باستخدام `? : (conditional)` المشغل. * يوضح `Solution-2` كيف يمكن حل المشكلة باستخدام `? : (conditional)` المشغل.
## حل 2: ## حل 2:
`function quickCheck(arr, elem) { ```javascript
return arr.indexOf(elem) >= 0 ? true : false; function quickCheck(arr, elem) {
} return arr.indexOf(elem) >= 0 ? true : false;
console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms')); }
` console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'));
```

View File

@ -13,40 +13,42 @@ localeTitle: تحقق مما إذا كان الكائن يحتوي على خاص
### حل 1: ### حل 1:
`let users = { ```javascript
Alan: { let users = {
age: 27, Alan: {
online: true age: 27,
}, online: true
Jeff: { },
age: 32, Jeff: {
online: true age: 32,
}, online: true
Sarah: { },
age: 48, Sarah: {
online: true age: 48,
}, online: true
Ryan: { },
age: 19, Ryan: {
online: true age: 19,
} online: true
}; }
};
function isEveryoneHere(obj) {
// change code below this line function isEveryoneHere(obj) {
if(users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) { // change code below this line
return true; if(users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) {
} return true;
return false; }
// change code above this line return false;
} // change code above this line
}
console.log(isEveryoneHere(users));
` console.log(isEveryoneHere(users));
```
### حل 2: ### حل 2:
`function isEveryoneHere(obj) { ```javascript
return (users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) ? true : false; function isEveryoneHere(obj) {
} return (users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) ? true : false;
` }
```

View File

@ -8,12 +8,13 @@ localeTitle: الجمع بين المصفوفات مع المشغل انتشار
## حل: ## حل:
`function spreadOut() { ```javascript
let fragment = ['to', 'code']; function spreadOut() {
let sentence = ["learning", ...fragment, "is", "fun"]; // change this line let fragment = ['to', 'code'];
return sentence; let sentence = ["learning", ...fragment, "is", "fun"]; // change this line
} return sentence;
}
// do not change code below this line
console.log(spreadOut()); // do not change code below this line
` console.log(spreadOut());
```

View File

@ -17,11 +17,12 @@ localeTitle: نسخ صفيف العناصر باستخدام شريحة ()
## حل: ## حل:
`function forecast(arr) { ```javascript
// change code below this line function forecast(arr) {
return arr.slice(2,4); // change code below this line
} return arr.slice(2,4);
}
// do not change code below this line
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms'])); // do not change code below this line
` console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));
```

View File

@ -6,20 +6,22 @@ localeTitle: إنشاء صفائف معقدة متعددة الأبعاد
* يجب أن تدرج السلسلة الأولى - `deep` - ثلاثة مستويات عميقة. هذا يعني ضمن ثلاث مجموعات بالضبط من `[square-brackets]` . * يجب أن تدرج السلسلة الأولى - `deep` - ثلاثة مستويات عميقة. هذا يعني ضمن ثلاث مجموعات بالضبط من `[square-brackets]` .
`let threeLevelArray = ["first level", ["Two levels deep", ["Three levels deep"]]]; ```javascript
` let threeLevelArray = ["first level", ["Two levels deep", ["Three levels deep"]]];
```
* باستخدام هذه السلاسل إدراج المنطق `deep` ، `deeper` `deepest` في المصفوفة ثلاث مستويات عميقة ، أربعة مستويات عميقة وخمس مستويات العميق على التوالي. * باستخدام هذه السلاسل إدراج المنطق `deep` ، `deeper` `deepest` في المصفوفة ثلاث مستويات عميقة ، أربعة مستويات عميقة وخمس مستويات العميق على التوالي.
## حل: ## حل:
`let myNestedArray = [ ```javascript
// change code below this line let myNestedArray = [
['unshift', false, 1, 2, 3, 'complex', 'nested'], // change code below this line
['loop', 'shift', 6, 7, 1000, 'method'], ['unshift', false, 1, 2, 3, 'complex', 'nested'],
['concat', false, true, 'spread', 'array',["deep"]], ['loop', 'shift', 6, 7, 1000, 'method'],
['mutate', 1327.98, 'splice', 'slice', 'push', [["deeper"]]], ['concat', false, true, 'spread', 'array',["deep"]],
['iterate', 1.3849, 7, '8.4876', 'arbitrary', 'depth', [[["deepest"]]] ] ['mutate', 1327.98, 'splice', 'slice', 'push', [["deeper"]]],
// change code above this line ['iterate', 1.3849, 7, '8.4876', 'arbitrary', 'depth', [[["deepest"]]] ]
]; // change code above this line
` ];
```

View File

@ -11,30 +11,31 @@ localeTitle: إنشاء صفيف من كافة مفاتيح الكائنات م
### حل: ### حل:
`let users = { ```javascript
Alan: { let users = {
age: 27, Alan: {
online: false age: 27,
}, online: false
Jeff: { },
age: 32, Jeff: {
online: true age: 32,
}, online: true
Sarah: { },
age: 48, Sarah: {
online: false age: 48,
}, online: false
Ryan: { },
age: 19, Ryan: {
online: true age: 19,
} online: true
}; }
};
function getArrayOfUsers(obj) {
// change code below this line function getArrayOfUsers(obj) {
return Object.keys(obj); // change code below this line
// change code above this line return Object.keys(obj);
} // change code above this line
}
console.log(getArrayOfUsers(users));
` console.log(getArrayOfUsers(users));
```

View File

@ -17,15 +17,17 @@ localeTitle: يتكرر من خلال جميع عناصر المصفوفة عن
* يجب بعد ذلك مقارنة كل عنصر من الصفيف بمعلمة `elem` تم تمريرها من خلال الدالة `filteredArray()` . * يجب بعد ذلك مقارنة كل عنصر من الصفيف بمعلمة `elem` تم تمريرها من خلال الدالة `filteredArray()` .
`if (arr[i].indexOf(elem)==-1){ ```javascript
` if (arr[i].indexOf(elem)==-1){
```
## تلميح 3 ## تلميح 3
* إذا لم يتم العثور على تطابق ، فهذا `newArr` أن `newArr` تمت إضافته بالكامل. وظيفة `push()` مفيدة جدًا هنا. * إذا لم يتم العثور على تطابق ، فهذا `newArr` أن `newArr` تمت إضافته بالكامل. وظيفة `push()` مفيدة جدًا هنا.
`newArr.push(arr[i]); ```javascript
` newArr.push(arr[i]);
```
* وبمجرد إضافة هذا `newArr` بأكمله إلى `newArr` ، تستمر الحلقة مع العنصر التالي. * وبمجرد إضافة هذا `newArr` بأكمله إلى `newArr` ، تستمر الحلقة مع العنصر التالي.

View File

@ -11,33 +11,35 @@ localeTitle: تعديل كائن متداخل داخل كائن
## مثال: ## مثال:
`let myObject = { ```javascript
level_1: 'outside', let myObject = {
first_level_object: { level_1: 'outside',
level_2: '2 levels deep', first_level_object: {
second_level_object: { level_2: '2 levels deep',
level_3: '3 levels deep' second_level_object: {
} level_3: '3 levels deep'
} }
}; }
//The following line of code will modify the data found in level_2. };
myObject.first_level_object.level_2 = 'level-2 has been reached'; //The following line of code will modify the data found in level_2.
` myObject.first_level_object.level_2 = 'level-2 has been reached';
```
## حل: ## حل:
`let userActivity = { ```javascript
id: 23894201352, let userActivity = {
date: 'January 1, 2017', id: 23894201352,
data: { date: 'January 1, 2017',
totalUsers: 51, data: {
online: 42 totalUsers: 51,
} online: 42
}; }
};
// change code below this line
userActivity.data.online = 45; // change code below this line
// change code above this line userActivity.data.online = 45;
// change code above this line
console.log(userActivity);
` console.log(userActivity);
```

View File

@ -8,12 +8,13 @@ localeTitle: إزالة العناصر من صفيف مع pop () و shift ()
## حل: ## حل:
`function popShift(arr) { ```javascript
let popped = arr.pop(); function popShift(arr) {
let shifted = arr.shift(); let popped = arr.pop();
return [shifted, popped]; let shifted = arr.shift();
} return [shifted, popped];
}
// do not change code below this line
console.log(popShift(['challenge', 'is', 'not', 'complete'])); // do not change code below this line
` console.log(popShift(['challenge', 'is', 'not', 'complete']));
```

View File

@ -9,13 +9,14 @@ localeTitle: إزالة العناصر باستخدام لصق ()
## حل: ## حل:
`function sumOfTen(arr) { ```javascript
// change code below this line function sumOfTen(arr) {
arr.splice(1,2); // change code below this line
// change code above this line arr.splice(1,2);
return arr.reduce((a, b) => a + b); // change code above this line
} return arr.reduce((a, b) => a + b);
}
// do not change code below this line
console.log(sumOfTen([2, 5, 1, 5, 2, 1])); // do not change code below this line
` console.log(sumOfTen([2, 5, 1, 5, 2, 1]));
```

View File

@ -8,18 +8,19 @@ localeTitle: استخدم Delete keyword to Remove Object Properties
### حل: ### حل:
`let foods = { ```javascript
apples: 25, let foods = {
oranges: 32, apples: 25,
plums: 28, oranges: 32,
bananas: 13, plums: 28,
grapes: 35, bananas: 13,
strawberries: 27 grapes: 35,
}; strawberries: 27
// change code below this line };
delete foods.oranges; // change code below this line
delete foods.plums; delete foods.oranges;
delete foods.strawberries; delete foods.plums;
// change code above this line delete foods.strawberries;
console.log(foods); // change code above this line
` console.log(foods);
```

View File

@ -6,11 +6,12 @@ localeTitle: الوصول صفيف البيانات مع فهارس
العنصر الأول لصفيف هو في الموضع صفر. لذلك ، إذا كنت ترغب في الوصول إلى العنصر الأول من صفيف ، يمكنك القيام بذلك على النحو التالي: العنصر الأول لصفيف هو في الموضع صفر. لذلك ، إذا كنت ترغب في الوصول إلى العنصر الأول من صفيف ، يمكنك القيام بذلك على النحو التالي:
`var arr = ["Programming", 123, "Coding", 789]; ```javascript
var arr = ["Programming", 123, "Coding", 789];
var firstElem = arr[0] // This is "Programming"
var thirdElem = arr[2] // This is "Coding" var firstElem = arr[0] // This is "Programming"
var fourthElem = arr[3] // This is 789 var thirdElem = arr[2] // This is "Coding"
` var fourthElem = arr[3] // This is 789
```
لاحظ أن طول الصفيف هو 4 ، وأن موضع آخر عنصر في المصفوفة هو 3. لاحظ أن طول الصفيف هو 4 ، وأن موضع آخر عنصر في المصفوفة هو 3.

View File

@ -6,8 +6,9 @@ localeTitle: الوصول إلى صفائف متعددة الأبعاد مع ف
النظر في مجموعة متعددة الأبعاد التالية: النظر في مجموعة متعددة الأبعاد التالية:
`var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]; ```javascript
` var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]];
```
هذا ما يبدو في شكل جداول. هذا ما يبدو في شكل جداول.
@ -15,12 +16,14 @@ localeTitle: الوصول إلى صفائف متعددة الأبعاد مع ف
الآن كل ما عليك فعله هو اختيار إحداثيات البيانات التي تريدها! للحصول على أمثلة ، إذا أردنا أن تساوي `myNum` 8 ، إذن ... الآن كل ما عليك فعله هو اختيار إحداثيات البيانات التي تريدها! للحصول على أمثلة ، إذا أردنا أن تساوي `myNum` 8 ، إذن ...
`var myNum = arr[2][1]; // Equal to 8 ```javascript
` var myNum = arr[2][1]; // Equal to 8
```
أو ، إذا كنت تريد أن تساوي 1. عليك ... أو ، إذا كنت تريد أن تساوي 1. عليك ...
`var myNum = arr[0][0]; // Equal to 1 ```javascript
` var myNum = arr[0][0]; // Equal to 1
```
تبدأ أولاً باختيار العمود الموجود فيه ، ثم تختار الصف. انها نوع من مثل الطائرة تنسيق XY! تبدأ أولاً باختيار العمود الموجود فيه ، ثم تختار الصف. انها نوع من مثل الطائرة تنسيق XY!

View File

@ -16,26 +16,27 @@ localeTitle: الوصول إلى صفائف متداخلة
### الوصول إلى الكائنات داخل المصفوفات باستخدام braket `[]` ونقطة `.` الرموز ### الوصول إلى الكائنات داخل المصفوفات باستخدام braket `[]` ونقطة `.` الرموز
`var garage = [ ```js
{ var garage = [
type: 'car', {
color: 'red', type: 'car',
make: 'Ford' color: 'red',
}, make: 'Ford'
{ },
type: 'motorbike', {
color: 'black', type: 'motorbike',
make: 'Yamaha' color: 'black',
}, make: 'Yamaha'
{ },
type: 'bus', {
color: 'yellow', type: 'bus',
make: 'Blue Bird' color: 'yellow',
} make: 'Blue Bird'
]; }
];
var busColor = garage[2].color; // 'yellow'
` var busColor = garage[2].color; // 'yellow'
```
## حل: ## حل:

View File

@ -8,18 +8,19 @@ localeTitle: الوصول إلى الكائنات المتداخلة
إذا نظرنا إلى هدفنا: إذا نظرنا إلى هدفنا:
`var myStorage = { ```javascript
"car": { var myStorage = {
"inside": { "car": {
"glove box": "maps", "inside": {
"passenger seat": "crumbs" "glove box": "maps",
}, "passenger seat": "crumbs"
"outside": { },
"trunk": "jack" "outside": {
} "trunk": "jack"
} }
}; }
` };
```
اسم هدفنا هو `myStorage` . اسم هدفنا هو `myStorage` .
@ -29,20 +30,22 @@ localeTitle: الوصول إلى الكائنات المتداخلة
يمكنك تصور بنية الكائن مثل هذا ، إذا كانت تساعد: يمكنك تصور بنية الكائن مثل هذا ، إذا كانت تساعد:
`myStorage ```
|-- car myStorage
|--- inside |-- car
|----- glove box: maps |--- inside
|----- passenger seat: crumbs |----- glove box: maps
|--- outside |----- passenger seat: crumbs
|----- trunk: jack |--- outside
` |----- trunk: jack
```
مطلوب منا تعيين محتويات `glove box` ، والتي يمكننا رؤيتها متداخلة في الكائن `inside` ، والتي بدورها متداخلة في جسم `car` . مطلوب منا تعيين محتويات `glove box` ، والتي يمكننا رؤيتها متداخلة في الكائن `inside` ، والتي بدورها متداخلة في جسم `car` .
يمكننا استخدام الترميز النقطي للوصول إلى `glove box` النحو التالي: يمكننا استخدام الترميز النقطي للوصول إلى `glove box` النحو التالي:
`var gloveBoxContents = myStorage.car.inside'complete here' ```javascript
` var gloveBoxContents = myStorage.car.inside'complete here'
```
يجب عليك استبدال `complete here` بالطريقة الصحيحة للوصول إلى الخاصية. انظر فكرة أعلاه إذا واجهتك مشكلة. يجب عليك استبدال `complete here` بالطريقة الصحيحة للوصول إلى الخاصية. انظر فكرة أعلاه إذا واجهتك مشكلة.

View File

@ -6,14 +6,15 @@ localeTitle: الوصول إلى خصائص كائن مع تدرج قوس
فيما يلي حل واحد ممكن: فيما يلي حل واحد ممكن:
`var testObj = { ```js
"an entree": "hamburger", var testObj = {
"my side": "veggies", "an entree": "hamburger",
"the drink": "water" "my side": "veggies",
}; "the drink": "water"
};
// Only change code below this line
// Only change code below this line
var entreeValue = testObj["an entree"]; // Change this line
var drinkValue = testObj["the drink"]; // Change this line var entreeValue = testObj["an entree"]; // Change this line
` var drinkValue = testObj["the drink"]; // Change this line
```

View File

@ -6,14 +6,15 @@ localeTitle: الوصول إلى خصائص كائن مع ترميز Dot
فيما يلي حل واحد ممكن: فيما يلي حل واحد ممكن:
`var testObj = { ```js
"hat": "ballcap", var testObj = {
"shirt": "jersey", "hat": "ballcap",
"shoes": "cleats" "shirt": "jersey",
}; "shoes": "cleats"
};
// Only change code below this line
// Only change code below this line
var hatValue = testObj.hat; // Change this line
var shirtValue = testObj.shirt; // Change this line var hatValue = testObj.hat; // Change this line
` var shirtValue = testObj.shirt; // Change this line
```

View File

@ -6,15 +6,16 @@ localeTitle: الوصول إلى خصائص الكائن مع المتغيرات
إليك حلًا عمليًا في حالة عطلك: إليك حلًا عمليًا في حالة عطلك:
`// Setup ```js
var testObj = { // Setup
12: "Namath", var testObj = {
16: "Montana", 12: "Namath",
19: "Unitas" 16: "Montana",
}; 19: "Unitas"
};
// Only change code below this line;
// Only change code below this line;
var playerNumber = 16; // Change this Line
var player = testObj[playerNumber]; // Change this Line var playerNumber = 16; // Change this Line
` var player = testObj[playerNumber]; // Change this Line
```

View File

@ -6,25 +6,27 @@ localeTitle: أضف خصائص جديدة إلى كائن JavaScript
هنا هو المثال: هنا هو المثال:
`var ourDog = { ```js
"name": "Camper", var ourDog = {
"legs": 4, "name": "Camper",
"tails": 1, "legs": 4,
"friends": ["everything!"] "tails": 1,
}; "friends": ["everything!"]
};
ourDog.bark = "bow-wow";
` ourDog.bark = "bow-wow";
```
وإليك الحل: وإليك الحل:
`var myDog = { ```js
"name": "Happy Coder", var myDog = {
"legs": 4, "name": "Happy Coder",
"tails": 1, "legs": 4,
"friends": ["freeCodeCamp Campers"] "tails": 1,
}; "friends": ["freeCodeCamp Campers"]
};
// Only change code below this line.
myDog.bark = "woof"; // Only change code below this line.
` myDog.bark = "woof";
```

View File

@ -8,5 +8,6 @@ localeTitle: التنازل مع القيمة المرتجعة
هنا هو الحل الأساسي رمز: هنا هو الحل الأساسي رمز:
`processed = processArg(7); // Equal to 2 ```javascript
` processed = processArg(7); // Equal to 2
```

View File

@ -30,26 +30,27 @@ _`num < 5` - عودة "صغيرة" `num < 10` - عودة "صغير" `num < 15` -
## حل: ## حل:
`function testSize(num) { ```javascript
// Only change code below this line function testSize(num) {
if (num < 5){ // Only change code below this line
return "Tiny"; if (num < 5){
} return "Tiny";
else if (num < 10) { }
return "Small"; else if (num < 10) {
} return "Small";
else if (num < 15){ }
return "Medium"; else if (num < 15){
} return "Medium";
else if (num < 20){ }
return "Large"; else if (num < 20){
} return "Large";
else { }
return "Huge"; else {
} return "Huge";
// Only change code above this line }
} // Only change code above this line
` }
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -20,15 +20,16 @@ _أضف عامل المساواة إلى الخط المحدد بحيث تقوم
## حل الرمز الأساسي: ## حل الرمز الأساسي:
`function testEqual(val) { ```javascript
if (val == 12) { // Change this line function testEqual(val) {
return "Equal"; if (val == 12) { // Change this line
} return "Equal";
return "Not equal"; }
} return "Not equal";
// Change this value to test }
testEqual(10); // Change this value to test
` testEqual(10);
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -24,17 +24,18 @@ localeTitle: مقارنة مع مشغل المساواة الصارمة
## حل الرمز الأساسي: ## حل الرمز الأساسي:
`// Setup ```javascript
function testStrict(val) { // Setup
if (val === 7) { // Change this line function testStrict(val) {
return "Equal"; if (val === 7) { // Change this line
} return "Equal";
return "Not equal"; }
} return "Not equal";
}
// Change this value to test
testStrict(10); // Change this value to test
` testStrict(10);
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -20,16 +20,17 @@ localeTitle: مقارنة مع مشغل عدم المساواة الصارم
## حل الرمز الأساسي: ## حل الرمز الأساسي:
`function testStrictNotEqual(val) { ```javascript
if (val !== 17) { function testStrictNotEqual(val) {
return "Not equal"; if (val !== 17) {
} return "Not equal";
return "Equal"; }
} return "Equal";
}
// Change this value to test
testStrictNotEqual(10); // Change this value to test
` testStrictNotEqual(10);
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -26,20 +26,21 @@ localeTitle: مقارنات مع عامل التشغيل && (المنطقية AN
## حل الرمز الأساسي: ## حل الرمز الأساسي:
`function testLogicalAnd(val) { ```javascript
// Only change code below this line function testLogicalAnd(val) {
// Only change code below this line
if (val <= 50 && val >= 25) {
return "Yes"; if (val <= 50 && val >= 25) {
} return "Yes";
}
// Only change code above this line
return "No"; // Only change code above this line
} return "No";
}
// Change this value to test
testLogicalAnd(10); // Change this value to test
` testLogicalAnd(10);
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -10,9 +10,10 @@ localeTitle: مقارنات مع المنطقي أو المشغل
أدناه هو نموذج التعليمة البرمجية (أبسط طريقة). أدناه هو نموذج التعليمة البرمجية (أبسط طريقة).
`if ( val < 10 || val > 20 ) { ```javascript
return "Outside"; if ( val < 10 || val > 20 ) {
} return "Outside";
` }
```
سيعود الرمز أعلاه "خارجي" فقط إذا كان `val` يتراوح بين 10 و 20 (ضمناً). سيعود الرمز أعلاه "خارجي" فقط إذا كان `val` يتراوح بين 10 و 20 (ضمناً).

View File

@ -6,18 +6,19 @@ localeTitle: عد إلى الخلف مع ل حلقة
هنا هو المثال: هنا هو المثال:
`// Example ```javascript
var ourArray = []; // Example
var ourArray = [];
for (var i = 10; i > 0; i -= 2) {
ourArray.push(i); for (var i = 10; i > 0; i -= 2) {
} ourArray.push(i);
}
// Setup
var myArray = []; // Setup
var myArray = [];
// Only change code below this line.
` // Only change code below this line.
```
#### تلميح: 1 #### تلميح: 1
@ -29,17 +30,18 @@ localeTitle: عد إلى الخلف مع ل حلقة
# تحذير SPOILER: SOLUTION AHEAD # تحذير SPOILER: SOLUTION AHEAD
`var ourArray = []; ```javascript
var ourArray = [];
for (var i = 10; i > 0; i -= 2) {
ourArray.push(i); for (var i = 10; i > 0; i -= 2) {
} ourArray.push(i);
}
// Setup
var myArray = []; // Setup
var myArray = [];
// Only change code below this line.
for (var i = 9; i > 0; i-=2){ // Only change code below this line.
myArray.push(i) for (var i = 9; i > 0; i-=2){
} myArray.push(i)
` }
```

View File

@ -105,18 +105,19 @@ localeTitle: عد بطاقات
## حل رمز إضافي: ## حل رمز إضافي:
`function cc(card) { ```javascript
// Only change code below this line function cc(card) {
var regex = /[JQKA]/; // Only change code below this line
if (card > 1 && card < 7){count++;} var regex = /[JQKA]/;
else if (card === 10 || String(card).match(regex)){count--;} if (card > 1 && card < 7){count++;}
else if (card === 10 || String(card).match(regex)){count--;}
if (count > 0) return count + " Bet";
return count + " Hold"; if (count > 0) return count + " Bet";
return count + " Hold";
// Only change code above this line
} // Only change code above this line
` }
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -10,25 +10,26 @@ localeTitle: حذف الخصائص من كائن JavaScript
# تحذير SPOILER: SOLUTION AHEAD # تحذير SPOILER: SOLUTION AHEAD
`var ourDog = { ```javascript
"name": "Camper", var ourDog = {
"legs": 4, "name": "Camper",
"tails": 1, "legs": 4,
"friends": ["everything!"], "tails": 1,
"bark": "bow-wow" "friends": ["everything!"],
}; "bark": "bow-wow"
};
delete ourDog.bark;
delete ourDog.bark;
// Setup
var myDog = { // Setup
"name": "Happy Coder", var myDog = {
"legs": 4, "name": "Happy Coder",
"tails": 1, "legs": 4,
"friends": ["freeCodeCamp Campers"], "tails": 1,
"bark": "woof" "friends": ["freeCodeCamp Campers"],
}; "bark": "woof"
};
// Only change code below this line.
delete myDog.tails; // Only change code below this line.
` delete myDog.tails;
```

View File

@ -10,8 +10,9 @@ localeTitle: الهروب من الأسعار الحرفيه في الاوتار
## حل ## حل
`var myStr = "I am a \"double quoted\" string inside \"double quotes\"."; ```javascript
var otherStr = 'I am a \'single quoted\' string inside \'single quotes\'.'; var myStr = "I am a \"double quoted\" string inside \"double quotes\".";
var noEscapeSingle = "There is no need to 'escape' the single quotes."; var otherStr = 'I am a \'single quoted\' string inside \'single quotes\'.';
var noEscapeDouble = 'There is no need to "escape" the double quotes.'; var noEscapeSingle = "There is no need to 'escape' the single quotes.";
` var noEscapeDouble = 'There is no need to "escape" the double quotes.';
```

View File

@ -14,25 +14,27 @@ localeTitle: النطاق العالمي والوظائف
عند إضافة `var` قبل اسم المتغير ، يتم تحديد نطاقه حسب مكان وضعه. مثل ذلك: عند إضافة `var` قبل اسم المتغير ، يتم تحديد نطاقه حسب مكان وضعه. مثل ذلك:
`var num1 = 18; // Global scope ```javascript
function fun() { var num1 = 18; // Global scope
var num2 = 20; // Local (Function) Scope function fun() {
if (true) { var num2 = 20; // Local (Function) Scope
var num3 = 22; // Block Scope (within an if-statement) if (true) {
} var num3 = 22; // Block Scope (within an if-statement)
} }
` }
```
عندما لا تفعل ، هذه هي النتيجة: عندما لا تفعل ، هذه هي النتيجة:
`num1 = 18; // Global scope ```javascript
function fun() { num1 = 18; // Global scope
num2 = 20; // Global Scope function fun() {
if (true) { num2 = 20; // Global Scope
num3 = 22; // Global Scope if (true) {
} num3 = 22; // Global Scope
} }
` }
```
حسنًا ، إليك حل الشفرة الأساسية. حسنًا ، إليك حل الشفرة الأساسية.

View File

@ -8,14 +8,15 @@ localeTitle: نطاق عالمي مقابل نطاق محلي في الوظائ
في هذا التمرين ، يكون لديك متغير `outerWear` في النطاق العالمي باستخدام "T-shirt" باعتباره قيمته. يجب عليك الآن إنشاء متغير آخر يسمى `outerWear` ، ولكن هذه المرة داخل الدالة `myOutfit()` . الحل الأساسي رمز كما يلي: في هذا التمرين ، يكون لديك متغير `outerWear` في النطاق العالمي باستخدام "T-shirt" باعتباره قيمته. يجب عليك الآن إنشاء متغير آخر يسمى `outerWear` ، ولكن هذه المرة داخل الدالة `myOutfit()` . الحل الأساسي رمز كما يلي:
`var outerWear = "T-shirt"; ```javascript
var outerWear = "T-shirt";
function myOutfit() {
var outerWear = "sweater"; function myOutfit() {
return outerWear; var outerWear = "sweater";
} return outerWear;
}
myOutfit();
` myOutfit();
```
ستقوم الدالة بإرجاع أقرب `outerWear` يمكن العثور عليه. منذ أن أنشأنا `outerWear` داخل الدالة ، وهذا هو "الأقرب" ، وبالتالي فإن الدالة ستعود "سترة". ستقوم الدالة بإرجاع أقرب `outerWear` يمكن العثور عليه. منذ أن أنشأنا `outerWear` داخل الدالة ، وهذا هو "الأقرب" ، وبالتالي فإن الدالة ستعود "سترة".

View File

@ -82,34 +82,35 @@ par + 2 | "بوجيه مزدوج" > = par + 3 | "اذهب للمنزل!"
## حل رمز بديل: ## حل رمز بديل:
`var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"]; ```javascript
function golfScore(par, strokes) { var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];
// Only change code below this line function golfScore(par, strokes) {
if (strokes == 1){ // Only change code below this line
return names[0]; if (strokes == 1){
} return names[0];
else if (strokes <= par-2){ }
return names[1]; else if (strokes <= par-2){
} return names[1];
else if (strokes == par -1){ }
return names[2]; else if (strokes == par -1){
} return names[2];
else if (strokes == par){ }
return names[3]; else if (strokes == par){
} return names[3];
else if (strokes == par +1){ }
return names[4]; else if (strokes == par +1){
} return names[4];
else if (strokes == par +2){ }
return names[5]; else if (strokes == par +2){
} return names[5];
else {return names[6];} }
// Only change code above this line else {return names[6];}
} // Only change code above this line
}
// Change these values to test
golfScore(5, 4); // Change these values to test
` golfScore(5, 4);
```
\## شرح الكود نظرًا لأن لدينا بالفعل صفيفًا محددًا في `names` المتغيرات ، فيمكننا الاستفادة منه واستخدامه في عبارات الإرجاع باستخدام الفهارس (على سبيل المثال: `names[0] is the first one` ). بهذه الطريقة ، إذا احتجت في أي وقت إلى تغيير نتيجة معينة فلن تحتاج إلى البحث عنها داخل الوظيفة ، فستكون في البداية ، في الصفيف الخاص بك. \## شرح الكود نظرًا لأن لدينا بالفعل صفيفًا محددًا في `names` المتغيرات ، فيمكننا الاستفادة منه واستخدامه في عبارات الإرجاع باستخدام الفهارس (على سبيل المثال: `names[0] is the first one` ). بهذه الطريقة ، إذا احتجت في أي وقت إلى تغيير نتيجة معينة فلن تحتاج إلى البحث عنها داخل الوظيفة ، فستكون في البداية ، في الصفيف الخاص بك.

View File

@ -6,17 +6,18 @@ localeTitle: تكرار الأرقام الفردية مع ل حلقة
هنا هو المثال: هنا هو المثال:
`var ourArray = []; ```javascript
var ourArray = [];
for (var i = 0; i < 10; i += 2) {
ourArray.push(i); for (var i = 0; i < 10; i += 2) {
} ourArray.push(i);
}
// Setup
var myArray = []; // Setup
var myArray = [];
// Only change code below this line.
` // Only change code below this line.
```
وإليك الحل: بعد السلسلة `// Only change code below this line.` نضيف `for` حلقة. تحتاج إلى نسخ حلقة من الجزء العلوي: وإليك الحل: بعد السلسلة `// Only change code below this line.` نضيف `for` حلقة. تحتاج إلى نسخ حلقة من الجزء العلوي:

View File

@ -8,11 +8,12 @@ localeTitle: تكرار مع JavaScript Do ... While Loops
## حل ## حل
`var myArray = []; ```javascript
var i = 10; var myArray = [];
var i = 10;
do {
myArray.push(i); do {
i++; myArray.push(i);
} while(i <= 10); i++;
` } while(i <= 10);
```

View File

@ -6,31 +6,34 @@ localeTitle: تكررت مع جافا سكريبت في حين الحلقات
بينما سيتم تشغيل حلقات طالما أن الشرط الموجود داخل () صحيح. مثال: بينما سيتم تشغيل حلقات طالما أن الشرط الموجود داخل () صحيح. مثال:
`while(condition){ ```javascript
code... while(condition){
} code...
` }
```
## تلميح 1: ## تلميح 1:
استخدم متغير مكرر مثل i في حالتك استخدم متغير مكرر مثل i في حالتك
`var i = 0; ```javascript
while(i <= 4){ var i = 0;
} while(i <= 4){
` }
```
## Spoiler Alert Solution إلى الأمام! ## Spoiler Alert Solution إلى الأمام!
## حل: ## حل:
`// Setup ```javascript
var myArray = []; // Setup
var myArray = [];
// Only change code below this line.
var i = 0; // Only change code below this line.
while (i <= 4){ var i = 0;
myArray.push(i); while (i <= 4){
i++; myArray.push(i);
} i++;
` }
```

View File

@ -8,11 +8,12 @@ localeTitle: النطاق المحلي والوظائف
فيما يلي الحل الأساسي للتعليمات البرمجية لإنشاء متغير `myVar` محلي. فيما يلي الحل الأساسي للتعليمات البرمجية لإنشاء متغير `myVar` محلي.
`function myLocalScope() { ```javascript
var myVar; function myLocalScope() {
console.log(myVar); var myVar;
} console.log(myVar);
myLocalScope(); }
` myLocalScope();
```
المتغير موجود فقط في الوظيفة. خارج الوظيفة ، هو غير موجود. المتغير موجود فقط في الوظيفة. خارج الوظيفة ، هو غير موجود.

View File

@ -14,10 +14,11 @@ localeTitle: التعامل مع صفائف مع البوب ()
## المفسد! حل الرمز: ## المفسد! حل الرمز:
`var removedFromMyArray = myArray.pop(); ```javascript
======= var removedFromMyArray = myArray.pop();
Remove the last element of an array with the pop() method, like so: =======
` Remove the last element of an array with the pop() method, like so:
```
جافا سكريبت var arr = \[1، 2، 3، 4، 5\]؛ arr.pop ()؛ // هذا تخلص من 5 جافا سكريبت var arr = \[1، 2، 3، 4، 5\]؛ arr.pop ()؛ // هذا تخلص من 5

View File

@ -6,6 +6,7 @@ localeTitle: التعامل مع صفائف بدفع ()
تسمح لك طريقة `push()` بإلحاق (إضافة إلى النهاية) عنصر إلى مصفوفة. مثل ذلك… تسمح لك طريقة `push()` بإلحاق (إضافة إلى النهاية) عنصر إلى مصفوفة. مثل ذلك…
`var arr = [1, 2, 3, 4]; ```javascript
arr.push(5); // Now, the array is [1, 2, 3, 4, 5] var arr = [1, 2, 3, 4];
` arr.push(5); // Now, the array is [1, 2, 3, 4, 5]
```

View File

@ -6,6 +6,7 @@ localeTitle: التعامل مع صفائف مع shift ()
بينما تم استخدام `pop()` للتخلص من العنصر الأخير من صفيف ، يتم استخدام `shift()` للتخلص من العنصر الأول. إنها تشبه أنك تقوم بتحويل العناصر إلى موضع واحد. تحقق من هذا: بينما تم استخدام `pop()` للتخلص من العنصر الأخير من صفيف ، يتم استخدام `shift()` للتخلص من العنصر الأول. إنها تشبه أنك تقوم بتحويل العناصر إلى موضع واحد. تحقق من هذا:
`var arr = [1, 2, 3, 4, 5]; ```javascript
arr.shift(); // Gets rid of the 1 var arr = [1, 2, 3, 4, 5];
` arr.shift(); // Gets rid of the 1
```

View File

@ -6,6 +6,7 @@ localeTitle: معالجة صفائف مع unshift ()
بينما `push()` إضافة عناصر إلى الجزء الخلفي من المصفوفة ، يضيف `unshift()` إلى الأمام. كل ما عليك القيام به هو: بينما `push()` إضافة عناصر إلى الجزء الخلفي من المصفوفة ، يضيف `unshift()` إلى الأمام. كل ما عليك القيام به هو:
`var arr = [2, 3, 4, 5]; ```javascript
arr.unshift(1); // Now, the array has 1 in the front var arr = [2, 3, 4, 5];
` arr.unshift(1); // Now, the array has 1 in the front
```

View File

@ -6,21 +6,22 @@ localeTitle: معالجة الكائنات المعقدة
هنا هو المثال: هنا هو المثال:
`var myMusic = [ ```javascript
{ var myMusic = [
"artist": "Billy Joel", {
"title": "Piano Man", "artist": "Billy Joel",
"release_year": 1973, "title": "Piano Man",
"formats": [ "release_year": 1973,
"CD", "formats": [
"8T", "CD",
"LP" "8T",
], "LP"
"gold": true ],
} "gold": true
// Add record here }
]; // Add record here
` ];
```
وإليك الحل: بعد السلسلة `// Add record here` نقوم بإضافة ألبوم جديد إلى `myMusic` . أنت في حاجة للبدء من `,` . ويمكنك فقط نسخ ألبوم تم إنشاؤه بالفعل: `javascript { "artist": "Billy Joel", "title": "Piano Man", "release_year": 1973, "formats": [ "CD", "8T", "LP" ], "gold": true }` وإليك الحل: بعد السلسلة `// Add record here` نقوم بإضافة ألبوم جديد إلى `myMusic` . أنت في حاجة للبدء من `,` . ويمكنك فقط نسخ ألبوم تم إنشاؤه بالفعل: `javascript { "artist": "Billy Joel", "title": "Piano Man", "release_year": 1973, "formats": [ "CD", "8T", "LP" ], "gold": true }`

View File

@ -8,16 +8,17 @@ localeTitle: خيارات متعددة مماثلة في بيانات التبد
_إذا تم حذف بيان الفاصل من حالة عبارة التبديل ، يتم تنفيذ العبارة (الحالات) التالية إلى أن تتم مصادفة فاصل. إذا كان لديك مدخلات متعددة بنفس المخرجات ، فيمكنك تمثيلها في بيان تبديل مثل هذا:_ _إذا تم حذف بيان الفاصل من حالة عبارة التبديل ، يتم تنفيذ العبارة (الحالات) التالية إلى أن تتم مصادفة فاصل. إذا كان لديك مدخلات متعددة بنفس المخرجات ، فيمكنك تمثيلها في بيان تبديل مثل هذا:_
`switch(val) { ```javascript
case 1: switch(val) {
case 2: case 1:
case 3: case 2:
result = "1, 2, or 3"; case 3:
break; result = "1, 2, or 3";
case 4: break;
result = "4 alone"; case 4:
} result = "4 alone";
` }
```
_الحالات 1 و 2 و 3 ستنتج نفس النتيجة._ _الحالات 1 و 2 و 3 ستنتج نفس النتيجة._

View File

@ -6,7 +6,8 @@ localeTitle: عش صف واحد داخل صفيف آخر
المصفوفات هي أحادية البعد؛ هذا يعني أنه يتم تخزين صف واحد فقط من البيانات. ولكن يمكنك إنشاء صفيف متعدد الأبعاد عن طريق وضع المصفوفات داخل المصفوفات! مثل ذلك: المصفوفات هي أحادية البعد؛ هذا يعني أنه يتم تخزين صف واحد فقط من البيانات. ولكن يمكنك إنشاء صفيف متعدد الأبعاد عن طريق وضع المصفوفات داخل المصفوفات! مثل ذلك:
`var arr = [["Two-dimensional", 2], ["Two rows", 12]]; ```javascript
` var arr = [["Two-dimensional", 2], ["Two rows", 12]];
```
الصفيف أعلاه له بعدان. الصفيف أعلاه له بعدان.

View File

@ -12,15 +12,16 @@ localeTitle: التعشيش للحلقات
هنا مثال: هنا مثال:
`var arr = [ ```
[1,2], [3,4], [5,6] var arr = [
]; [1,2], [3,4], [5,6]
for (var i=0; i < arr.length; i++) { ];
for (var j=0; j < arr[i].length; j++) { for (var i=0; i < arr.length; i++) {
console.log(arr[i][j]); for (var j=0; j < arr[i].length; j++) {
} console.log(arr[i][j]);
} }
` }
```
هذا إخراج كل عنصر فرعي في `arr` واحد في كل مرة. لاحظ أنه بالنسبة للحلقة الداخلية ، فإننا نتحقق من طول arr \[i\] ، لأن arr \[i\] هو نفسه مصفوفة. هذا إخراج كل عنصر فرعي في `arr` واحد في كل مرة. لاحظ أنه بالنسبة للحلقة الداخلية ، فإننا نتحقق من طول arr \[i\] ، لأن arr \[i\] هو نفسه مصفوفة.
@ -57,21 +58,22 @@ _تنبيه المفسد!_ ![](https://discourse-user-assets.s3.amazonaws.com/or
: مبتدئ: **حل الرمز الأساسي:** : مبتدئ: **حل الرمز الأساسي:**
`function multiplyAll(arr) { ```
var product = 1; function multiplyAll(arr) {
// Only change code below this line var product = 1;
for(var i=0; i < arr.length; i++){ // Only change code below this line
for (var j=0; j < arr[i].length; j++){ for(var i=0; i < arr.length; i++){
product = product * arr[i][j]; for (var j=0; j < arr[i].length; j++){
} product = product * arr[i][j];
} }
// Only change code above this line }
return product; // Only change code above this line
} return product;
}
// Modify values below to test your code
multiplyAll([[1,2],[3,4],[5,6,7]]); // Modify values below to test your code
` multiplyAll([[1,2],[3,4],[5,6,7]]);
```
: صاروخ: **[تشغيل التعليمات البرمجية](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops/)** : صاروخ: **[تشغيل التعليمات البرمجية](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops/)**

View File

@ -6,13 +6,15 @@ localeTitle: تمرير القيم إلى دالات مع الوسيطات
مهمتنا هي إنشاء وظيفة لديها **معلمات** . هذه هي المدخلات التي تحدد إخراج الدالة. تضع المتابعين داخل `()` ، مثل: مهمتنا هي إنشاء وظيفة لديها **معلمات** . هذه هي المدخلات التي تحدد إخراج الدالة. تضع المتابعين داخل `()` ، مثل:
`function functionWithArgs(one, two) { ```javascript
console.log(one + two); function functionWithArgs(one, two) {
} console.log(one + two);
` }
```
لدينا الآن لإضافة رمز داخل الأقواس. مهمتنا هي إضافة `one` `two` ، وطباعة المجموع إلى وحدة التحكم. هنا هو الحل الأساسي رمز: لدينا الآن لإضافة رمز داخل الأقواس. مهمتنا هي إضافة `one` `two` ، وطباعة المجموع إلى وحدة التحكم. هنا هو الحل الأساسي رمز:
`functionWithArgs(7, 3); ```javascript
//This will console log 10. functionWithArgs(7, 3);
` //This will console log 10.
```

View File

@ -6,7 +6,8 @@ localeTitle: إرجاع قيمة من دالة مع العودة
باستخدام `return` ، يمكنك جعل بيانات الإخراج الوظائف. هنا هو الحل الأساسي رمز: باستخدام `return` ، يمكنك جعل بيانات الإخراج الوظائف. هنا هو الحل الأساسي رمز:
`function timesFive(num) { ```javascript
return num * 5; function timesFive(num) {
} return num * 5;
` }
```

View File

@ -10,13 +10,14 @@ localeTitle: إرجاع القيم المنطقية من الدالات
_فيكس وظيفة هو `isLess` من إزالة العبارة `if...else` ._ _فيكس وظيفة هو `isLess` من إزالة العبارة `if...else` ._
`// Fix this code ```js
if (a < b) { // Fix this code
return true; if (a < b) {
} else { return true;
return false; } else {
} return false;
` }
```
#### تلميح 1 #### تلميح 1
@ -36,13 +37,14 @@ _فيكس وظيفة هو `isLess` من إزالة العبارة `if...else` ._
## حل الرمز: ## حل الرمز:
`function isLess(a, b) { ```javascript
// Fix this code function isLess(a, b) {
return a <= b; // Fix this code
} return a <= b;
// Change these values to test }
isLess(10, 15); // Change these values to test
` isLess(10, 15);
```
### مصادر ### مصادر

View File

@ -6,8 +6,9 @@ localeTitle: تخزين قيم متعددة في متغير واحد باستخ
تسمح لك المصفوفات بتخزين الكثير من البيانات المختلفة ، ضمن متغير واحد. كل ما عليك القيام به هو وضع البيانات في الصفيف ، مفصولة بفواصل. مثل ذلك… تسمح لك المصفوفات بتخزين الكثير من البيانات المختلفة ، ضمن متغير واحد. كل ما عليك القيام به هو وضع البيانات في الصفيف ، مفصولة بفواصل. مثل ذلك…
`var arr = ["Code for change", 123]; ```javascript
` var arr = ["Code for change", 123];
```
تذكر ، يتم تعريف صفيف كصف من الأشياء. أنت تخزن بيانات مختلفة في "صف" مفرد (متغير). تذكر ، يتم تعريف صفيف كصف من الأشياء. أنت تخزن بيانات مختلفة في "صف" مفرد (متغير).

View File

@ -27,13 +27,14 @@ localeTitle: اختبار كائنات للعقارات
نحن لا نغير أي شيء هنا: نحن لا نغير أي شيء هنا:
`// Setup ```javascript
var myObj = { // Setup
gift: "pony", var myObj = {
pet: "kitten", gift: "pony",
bed: "sleigh" pet: "kitten",
}; bed: "sleigh"
` };
```
كذلك ، في الجسم من الدالة التي نستخدمها. `.hasOwnProperty(propname)` للكائنات لتحديد ما إذا كان هذا الكائن لديه اسم خاصية معينة. `if/else` العبارة `if/else` ذات القيم المنطقية ستساعدنا في هذا: كذلك ، في الجسم من الدالة التي نستخدمها. `.hasOwnProperty(propname)` للكائنات لتحديد ما إذا كان هذا الكائن لديه اسم خاصية معينة. `if/else` العبارة `if/else` ذات القيم المنطقية ستساعدنا في هذا:

View File

@ -20,15 +20,16 @@ localeTitle: فهم القيم المنطقية
## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") حل الرمز الأساسي: ## ![:beginner:](https://forum.freecodecamp.com/images/emoji/emoji_one/beginner.png?v=3 ":مبتدئ:") حل الرمز الأساسي:
`function welcomeToBooleans() { ```javascript
function welcomeToBooleans() {
// Only change code below this line.
// Only change code below this line.
return true; // Change this line
return true; // Change this line
// Only change code above this line.
} // Only change code above this line.
` }
```
### تفسير الشفرة ### تفسير الشفرة

View File

@ -8,12 +8,14 @@ localeTitle: فهم قيمة غير محددة عاد من وظيفة
المضي قدما وتحديد `addFive()` مثل ذلك ... المضي قدما وتحديد `addFive()` مثل ذلك ...
`function addFive() { ```javascript
sum += 5; function addFive() {
} sum += 5;
` }
```
كما ترى ، يتم إضافة `sum` ب 5 بدون مشاكل ، ولكن بما أنه لا يوجد بيان إرجاع ، فهناك مخرجات `undefined` . كما ترى ، يتم إضافة `sum` ب 5 بدون مشاكل ، ولكن بما أنه لا يوجد بيان إرجاع ، فهناك مخرجات `undefined` .
`var result = addFive(); // This is undefined ```javascript
` var result = addFive(); // This is undefined
```

View File

@ -12,15 +12,16 @@ localeTitle: تحديث خصائص الكائن
## حل: ## حل:
`// Setup ```javascript
var myDog = { // Setup
"name": "Coder", var myDog = {
"legs": 4, "name": "Coder",
"tails": 1, "legs": 4,
"friends": ["freeCodeCamp Campers"] "tails": 1,
}; "friends": ["freeCodeCamp Campers"]
};
// Only change code below this line.
// Only change code below this line.
myDog.name = "Happy Coder"; // Solution
` myDog.name = "Happy Coder"; // Solution
```

View File

@ -10,9 +10,10 @@ localeTitle: استخدم المشغل الشرطي (الثالوثي)
### تحذير حل قدما! ### تحذير حل قدما!
`function checkEqual(a, b) { ```javascript
return (a = b ? true : false ); function checkEqual(a, b) {
} return (a = b ? true : false );
}
checkEqual(1, 2);
` checkEqual(1, 2);
```

View File

@ -6,44 +6,46 @@ localeTitle: استخدام كائنات لعمليات البحث
هنا هو المثال: هنا هو المثال:
`// Setup ```javascript
function phoneticLookup(val) { // Setup
var result = ""; function phoneticLookup(val) {
var result = "";
// Only change code below this line
switch(val) { // Only change code below this line
case "alpha": switch(val) {
result = "Adams"; case "alpha":
break; result = "Adams";
case "bravo": break;
result = "Boston"; case "bravo":
break; result = "Boston";
case "charlie": break;
result = "Chicago"; case "charlie":
break; result = "Chicago";
case "delta": break;
result = "Denver"; case "delta":
break; result = "Denver";
case "echo": break;
result = "Easy"; case "echo":
break; result = "Easy";
case "foxtrot": break;
result = "Frank"; case "foxtrot":
} result = "Frank";
}
// Only change code above this line
return result; // Only change code above this line
} return result;
}
// Change this value to test
phoneticLookup("charlie"); // Change this value to test
` phoneticLookup("charlie");
```
وإليك الحل: نحن لا نغير أي شيء هنا: وإليك الحل: نحن لا نغير أي شيء هنا:
`function phoneticLookup(val) { ```javascript
var result = ""; function phoneticLookup(val) {
` var result = "";
```
نحن بحاجة إلى تحويل بيان التبديل إلى كائن. نقل كل قيم `case` إلى خصائص الكائن: نحن بحاجة إلى تحويل بيان التبديل إلى كائن. نقل كل قيم `case` إلى خصائص الكائن:

View File

@ -8,12 +8,14 @@ localeTitle: اكتب Reusable JavaScript مع الوظائف
تبدأ من خلال استخدام الكلمة `function` ، ثم كتابة اسم الدالة (الذي يتبع تنسيق حالة الجمل). ثم ، اكتب `()` ، وإنشاء الأقواس `{}` . مثل ذلك: تبدأ من خلال استخدام الكلمة `function` ، ثم كتابة اسم الدالة (الذي يتبع تنسيق حالة الجمل). ثم ، اكتب `()` ، وإنشاء الأقواس `{}` . مثل ذلك:
`function reusableFunction() {} ```javascript
` function reusableFunction() {}
```
الآن ، أصبحت الدالة جاهزة لكتابتها. استخدم `console.log()` لطباعة رسالة في وحدة التحكم. الحل الأساسي رمز كما يلي: الآن ، أصبحت الدالة جاهزة لكتابتها. استخدم `console.log()` لطباعة رسالة في وحدة التحكم. الحل الأساسي رمز كما يلي:
`function reusableFunction() { ```javascript
console.log("Hi World"); function reusableFunction() {
} console.log("Hi World");
` }
```

View File

@ -4,10 +4,11 @@ localeTitle: Catch Arguments Passed in the Wrong Order When Calling a Function
--- ---
## Catch Arguments Passed in the Wrong Order When Calling a Function ## Catch Arguments Passed in the Wrong Order When Calling a Function
`function raiseToPower(b, e) { ```javascript
return Math.pow(b, e); function raiseToPower(b, e) {
} return Math.pow(b, e);
` }
```
* تستخدم الوظيفة المذكورة أعلاه لرفع العدد الأساسي `b` إلى قوة الأس `e` . * تستخدم الوظيفة المذكورة أعلاه لرفع العدد الأساسي `b` إلى قوة الأس `e` .
* يجب استدعاء الدالة على وجه التحديد مع المتغيرات بالترتيب الصحيح. وبخلاف ذلك ، تقوم الوظيفة بخلط كلا المتغيرين وإرجاع إجابة غير مرغوبة. * يجب استدعاء الدالة على وجه التحديد مع المتغيرات بالترتيب الصحيح. وبخلاف ذلك ، تقوم الوظيفة بخلط كلا المتغيرين وإرجاع إجابة غير مرغوبة.
@ -15,5 +16,6 @@ localeTitle: Catch Arguments Passed in the Wrong Order When Calling a Function
## حل: ## حل:
`let power = raiseToPower(base, exp); ```javascript
` let power = raiseToPower(base, exp);
```

View File

@ -9,7 +9,8 @@ localeTitle: قبض على الاستخدام المختلط من أسعار م
## حل: ## حل:
`//Solution1: ```javascript
let innerHtml = "<p>Click here to <a href=\"#Home\">return home</a></p>"; //Solution1:
console.log(innerHtml); let innerHtml = "<p>Click here to <a href=\"#Home\">return home</a></p>";
` console.log(innerHtml);
```

View File

@ -8,12 +8,13 @@ localeTitle: القبض عن طريق واحدة من الأخطاء عند اس
بسبب الطريقة التي تعمل بها فهارس جافا سكريبت `firstFive` لديها **خمسة عناصر** لكنها مفهرسة من **0 إلى 4** ! بسبب الطريقة التي تعمل بها فهارس جافا سكريبت `firstFive` لديها **خمسة عناصر** لكنها مفهرسة من **0 إلى 4** !
`console.log(len); // 5 ```javascript
console.log(firstFive[0]); // 1 console.log(len); // 5
/**/ console.log(firstFive[0]); // 1
console.log(firstFive[4]); // 5 /**/
console.log(firstFive[5]); // undefined console.log(firstFive[4]); // 5
` console.log(firstFive[5]); // undefined
```
يجب أن يعطيك ما يكفي لإدراك حدود `firstFive` . توجيه انتباهك إلى الحلقة. ماذا تعمل، أو ماذا تفعل؟ يمكنك محاولة تصحيح الأخطاء لمعرفة ذلك! يجب أن يعطيك ما يكفي لإدراك حدود `firstFive` . توجيه انتباهك إلى الحلقة. ماذا تعمل، أو ماذا تفعل؟ يمكنك محاولة تصحيح الأخطاء لمعرفة ذلك!

View File

@ -6,21 +6,23 @@ localeTitle: قبض على الأقواس غير المغلقة ، بين قوس
تقلل طريقة تقليل () صفيفًا إلى قيمة واحدة. إذا لم تكن على دراية بها ، يعرض التعليمة البرمجية التالية مثالاً على استخدام الطريقة: تقلل طريقة تقليل () صفيفًا إلى قيمة واحدة. إذا لم تكن على دراية بها ، يعرض التعليمة البرمجية التالية مثالاً على استخدام الطريقة:
`const array1 = [1, 2, 3, 4]; ```
console.log(array1.reduce((accumulator, currentValue) => accumulator + currentValue)); // expected output: 10 const array1 = [1, 2, 3, 4];
` console.log(array1.reduce((accumulator, currentValue) => accumulator + currentValue)); // expected output: 10
```
يمكنك أيضًا تعريف الوسيطة إلى طريقة الاختزال كمتغير أو ثابت وتسليمها إلى الوظيفة ، على سبيل المثال ، يمكنك أيضًا تعريف الوسيطة إلى طريقة الاختزال كمتغير أو ثابت وتسليمها إلى الوظيفة ، على سبيل المثال ،
`const array1 = [1, 2, 3, 4]; ```
const reducer = (accumulator, currentValue) => accumulator + currentValue; const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => accumulator + currentValue;
// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer)); // expected output: 10 // 1 + 2 + 3 + 4
console.log(array1.reduce(reducer)); // expected output: 10
// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5)); // expected output: 15 // 5 + 1 + 2 + 3 + 4
` console.log(array1.reduce(reducer, 5)); // expected output: 15
```
يمكنك رؤية وتشغيل هذا الرمز في [Array.prototype.reduce ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) . يمكنك رؤية وتشغيل هذا الرمز في [Array.prototype.reduce ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) .

View File

@ -9,15 +9,16 @@ localeTitle: قبض على استخدام مشغل التعيين بدلا من
## حل ## حل
`let x = 7; ```javascript
let y = 9; let x = 7;
let result = "to come"; let y = 9;
let result = "to come";
if(x == y) {
result = "Equal!"; if(x == y) {
} else { result = "Equal!";
result = "Not equal!"; } else {
} result = "Not equal!";
}
console.log(result);
` console.log(result);
```

View File

@ -8,21 +8,23 @@ localeTitle: منع حلقات لا نهائية مع شرط محطة صالح
* لذا يحدث الخطأ في هذا التحدي بسبب الشرط - `i != 4` - في حلقة for. * لذا يحدث الخطأ في هذا التحدي بسبب الشرط - `i != 4` - في حلقة for.
* إذا ألقيت نظرة عن كثب على الرمز: * إذا ألقيت نظرة عن كثب على الرمز:
`function myFunc() { ```javascript
for (let i = 1; i != 4; i += 2) { function myFunc() {
console.log("Still going!"); for (let i = 1; i != 4; i += 2) {
} console.log("Still going!");
} }
` }
```
* سترى أن `i` هو initialised أولا ك 1 وبعد كل تكرار للحلقة، `i` يتزايد بنسبة 2. * سترى أن `i` هو initialised أولا ك 1 وبعد كل تكرار للحلقة، `i` يتزايد بنسبة 2.
* باستخدام هذا المنطق ، بعد التكرار الأول - `i = 3` والتكرار الثاني `i = 5` ، لن يتم استيفاء الشرط `i != 4` وستحدث حلقة لا نهائية. * باستخدام هذا المنطق ، بعد التكرار الأول - `i = 3` والتكرار الثاني `i = 5` ، لن يتم استيفاء الشرط `i != 4` وستحدث حلقة لا نهائية.
## حل: ## حل:
`function myFunc() { ```javascript
for (let i = 1; i <= 4; i += 2) { function myFunc() {
console.log("Still going!"); for (let i = 1; i <= 4; i += 2) {
} console.log("Still going!");
} }
` }
```

View File

@ -7,41 +7,44 @@ localeTitle: استخدام الحذر عند Reinitializing متغيرات دا
* يجب حل هذا التحدي من خلال إعادة تعريف نطاق `row[]` . * يجب حل هذا التحدي من خلال إعادة تعريف نطاق `row[]` .
* فيما يلي مثال على المصفوفة المطلوبة. * فيما يلي مثال على المصفوفة المطلوبة.
`[ ```javascript
[0][0], [
[0][0], [0][0],
[0][0] [0][0],
] [0][0]
` ]
```
* ومع ذلك ، فإن المصفوفة الحالية - الموضحة أدناه - بعيدة عن المصفوفة المرغوبة * ومع ذلك ، فإن المصفوفة الحالية - الموضحة أدناه - بعيدة عن المصفوفة المرغوبة
`[ ```javascript
[0][0][0][0][0][0], [
[0][0][0][0][0][0], [0][0][0][0][0][0],
[0][0][0][0][0][0] [0][0][0][0][0][0],
] [0][0][0][0][0][0]
` ]
```
* يحدث هذا الخطأ بسبب `row[]` صف يتم الإعلان عنه كمتغير عمومي خارج الحلقة المتداخلة. * يحدث هذا الخطأ بسبب `row[]` صف يتم الإعلان عنه كمتغير عمومي خارج الحلقة المتداخلة.
* ومع ذلك ، لملء المصفوفة بشكل صحيح يجب إعادة تعيين `row[]` بعد كل تكرار للحلقة الخارجية. * ومع ذلك ، لملء المصفوفة بشكل صحيح يجب إعادة تعيين `row[]` بعد كل تكرار للحلقة الخارجية.
## حل ## حل
`function zeroArray(m, n) { ```javascript
let newArray = []; function zeroArray(m, n) {
for (let i = 0; i < m; i++) { let newArray = [];
let row = []; /* <----- row has been declared inside the outer loop. for (let i = 0; i < m; i++) {
Now a new row will be initialised during each iteration of the outer loop allowing let row = []; /* <----- row has been declared inside the outer loop.
for the desired matrix. */ Now a new row will be initialised during each iteration of the outer loop allowing
for (let j = 0; j < n; j++) { for the desired matrix. */
for (let j = 0; j < n; j++) {
row.push(0);
} row.push(0);
newArray.push(row); }
} newArray.push(row);
return newArray; }
} return newArray;
let matrix = zeroArray(3, 2); }
console.log(matrix); let matrix = zeroArray(3, 2);
` console.log(matrix);
```

View File

@ -8,6 +8,7 @@ localeTitle: استخدم typeof للتحقق من نوع المتغير
## حل: ## حل:
`console.log(typeof seven); ```javascript
console.log(typeof three); console.log(typeof seven);
` console.log(typeof three);
```

View File

@ -14,6 +14,7 @@ localeTitle: قم بإنشاء "تصدير تراجعي" باستخدام الإ
## حل: ## حل:
`"use strict"; ```javascript
export default function subtract(x,y) {return x - y;} "use strict";
` export default function subtract(x,y) {return x - y;}
```

View File

@ -14,7 +14,8 @@ localeTitle: استيراد تصدير افتراضي
## حل: ## حل:
`"use strict"; ```javascript
import subtract from "math_functions"; "use strict";
subtract(7,4); import subtract from "math_functions";
` subtract(7,4);
```

View File

@ -8,15 +8,16 @@ localeTitle: تعيين المعلمات الافتراضية لوظائفك
### : checkered\_flag: مشكلة التفسير: ### : checkered\_flag: مشكلة التفسير:
`const increment = (function() { ```javascript
"use strict"; const increment = (function() {
return function increment(number, value) { "use strict";
return number + value; return function increment(number, value) {
}; return number + value;
})(); };
console.log(increment(5, 2)); // returns 7 })();
console.log(increment(5)); // returns NaN console.log(increment(5, 2)); // returns 7
` console.log(increment(5)); // returns NaN
```
سنقوم بتعديل دالة الزيادة بحيث يتم زيادة معلمة **الرقم** بمقدار 1 بشكل افتراضي ، عن طريق تعيين **القيمة** إلى 1 إذا لم يتم تمرير **قيمة للقيمة** إلى دالة الزيادة. سنقوم بتعديل دالة الزيادة بحيث يتم زيادة معلمة **الرقم** بمقدار 1 بشكل افتراضي ، عن طريق تعيين **القيمة** إلى 1 إذا لم يتم تمرير **قيمة للقيمة** إلى دالة الزيادة.
@ -40,15 +41,16 @@ localeTitle: تعيين المعلمات الافتراضية لوظائفك
## : مبتدئ: حل الرمز الأساسي: ## : مبتدئ: حل الرمز الأساسي:
`const increment = (function() { ```javascript
"use strict"; const increment = (function() {
return function increment(number, value = 1) { "use strict";
return number + value; return function increment(number, value = 1) {
}; return number + value;
})(); };
console.log(increment(5, 2)); // returns 7 })();
console.log(increment(5)); // returns NaN console.log(increment(5, 2)); // returns 7
` console.log(increment(5)); // returns NaN
```
## شرح الشفرة ## شرح الشفرة

View File

@ -16,7 +16,8 @@ localeTitle: فهم الاختلافات بين الاستيراد وتتطلب
## حل ## حل
`"use strict"; ```javascript
import { capitalizeString } from "string-functions"; "use strict";
capitalizeString("hello!"); import { capitalizeString } from "string-functions";
` capitalizeString("hello!");
```

View File

@ -14,6 +14,7 @@ localeTitle: استخدم * لاستيراد كل شيء من ملف
## حل: ## حل:
`"use strict"; ```javascript
import * as str from "capitalize_strings"; "use strict";
` import * as str from "capitalize_strings";
```