fix: converted single to triple backticks3 (#36230)
This commit is contained in:
@ -38,7 +38,8 @@ for (let user in obj) {
|
|||||||
|
|
||||||
### حل:
|
### حل:
|
||||||
|
|
||||||
`let users = {
|
```javascript
|
||||||
|
let users = {
|
||||||
Alan: {
|
Alan: {
|
||||||
age: 27,
|
age: 27,
|
||||||
online: false
|
online: false
|
||||||
@ -68,4 +69,4 @@ for (let user in obj) {
|
|||||||
// change code above this line
|
// change code above this line
|
||||||
}
|
}
|
||||||
console.log(countOnline(users));
|
console.log(countOnline(users));
|
||||||
`
|
```
|
@ -8,5 +8,6 @@ localeTitle: الوصول إلى محتويات صفيف باستخدام تدر
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`myArray[1] = "anything we want";
|
```javascript
|
||||||
`
|
myArray[1] = "anything we want";
|
||||||
|
```
|
@ -11,18 +11,20 @@ localeTitle: الوصول إلى خاصية الأسماء مع تدرج قوس
|
|||||||
|
|
||||||
## مثال:
|
## مثال:
|
||||||
|
|
||||||
`let juice = {
|
```javascript
|
||||||
|
let juice = {
|
||||||
apple: 1.15,
|
apple: 1.15,
|
||||||
orange: 1.45
|
orange: 1.45
|
||||||
};
|
};
|
||||||
function checkInventory(scannedItem) {
|
function checkInventory(scannedItem) {
|
||||||
return juice[scannedItem];
|
return juice[scannedItem];
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`let foods = {
|
```javascript
|
||||||
|
let foods = {
|
||||||
apples: 25,
|
apples: 25,
|
||||||
oranges: 32,
|
oranges: 32,
|
||||||
plums: 28,
|
plums: 28,
|
||||||
@ -39,4 +41,4 @@ localeTitle: الوصول إلى خاصية الأسماء مع تدرج قوس
|
|||||||
|
|
||||||
// change code below this line to test different cases:
|
// change code below this line to test different cases:
|
||||||
console.log(checkInventory("apples"));
|
console.log(checkInventory("apples"));
|
||||||
`
|
```
|
@ -8,7 +8,8 @@ localeTitle: إضافة عناصر إلى مصفوفة بدفع () و unshift ()
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function mixedNumbers(arr) {
|
```javascript
|
||||||
|
function mixedNumbers(arr) {
|
||||||
// change code below this line
|
// change code below this line
|
||||||
arr.unshift('I',2,'three');
|
arr.unshift('I',2,'three');
|
||||||
arr.push(7,'VIII', 9);
|
arr.push(7,'VIII', 9);
|
||||||
@ -18,4 +19,4 @@ localeTitle: إضافة عناصر إلى مصفوفة بدفع () و unshift ()
|
|||||||
|
|
||||||
// do not change code below this line
|
// do not change code below this line
|
||||||
console.log(mixedNumbers(['IV', 5, 'six']));
|
console.log(mixedNumbers(['IV', 5, 'six']));
|
||||||
`
|
```
|
@ -20,7 +20,8 @@ localeTitle: إضافة عناصر باستخدام لصق ()
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function htmlColorNames(arr) {
|
```javascript
|
||||||
|
function htmlColorNames(arr) {
|
||||||
// change code below this line
|
// change code below this line
|
||||||
arr.splice(0, 2, "DarkSalmon", "BlanchedAlmond");
|
arr.splice(0, 2, "DarkSalmon", "BlanchedAlmond");
|
||||||
// change code above this line
|
// change code above this line
|
||||||
@ -29,4 +30,4 @@ localeTitle: إضافة عناصر باستخدام لصق ()
|
|||||||
|
|
||||||
// do not change code below this line
|
// do not change code below this line
|
||||||
console.log(htmlColorNames(['DarkGoldenRod', 'WhiteSmoke', 'LavenderBlush', 'PaleTurqoise', 'FireBrick']));
|
console.log(htmlColorNames(['DarkGoldenRod', 'WhiteSmoke', 'LavenderBlush', 'PaleTurqoise', 'FireBrick']));
|
||||||
`
|
```
|
@ -6,14 +6,16 @@ localeTitle: إضافة أزواج Key-Value إلى كائنات JavaScript
|
|||||||
|
|
||||||
* وقد أعلن بالفعل كائن الأطعمة. كل ما تبقى القيام به هو إضافة ثلاث `key-values` جديدة.
|
* وقد أعلن بالفعل كائن الأطعمة. كل ما تبقى القيام به هو إضافة ثلاث `key-values` جديدة.
|
||||||
|
|
||||||
`OBJECT[{KEY}] = {VALUE}
|
```javascript
|
||||||
`
|
OBJECT[{KEY}] = {VALUE}
|
||||||
|
```
|
||||||
|
|
||||||
* سيعمل الرمز أعلاه على إنشاء `key-value` ney داخل الكائن.
|
* سيعمل الرمز أعلاه على إنشاء `key-value` ney داخل الكائن.
|
||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`let foods = {
|
```javascript
|
||||||
|
let foods = {
|
||||||
apples: 25,
|
apples: 25,
|
||||||
oranges: 32,
|
oranges: 32,
|
||||||
plums: 28
|
plums: 28
|
||||||
@ -24,4 +26,4 @@ localeTitle: إضافة أزواج Key-Value إلى كائنات JavaScript
|
|||||||
foods['strawberries'] = 27;
|
foods['strawberries'] = 27;
|
||||||
// change code above this line
|
// change code above this line
|
||||||
console.log(foods);
|
console.log(foods);
|
||||||
`
|
```
|
@ -10,21 +10,23 @@ localeTitle: التحقق من وجود عنصر مع indexOf ()
|
|||||||
|
|
||||||
## حل 1:
|
## حل 1:
|
||||||
|
|
||||||
`function quickCheck(arr, elem) {
|
```javascript
|
||||||
|
function quickCheck(arr, elem) {
|
||||||
if(arr.indexOf(elem)>=0) {
|
if(arr.indexOf(elem)>=0) {
|
||||||
return true;
|
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
|
||||||
|
function quickCheck(arr, elem) {
|
||||||
return arr.indexOf(elem) >= 0 ? true : false;
|
return arr.indexOf(elem) >= 0 ? true : false;
|
||||||
}
|
}
|
||||||
console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'));
|
console.log(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms'));
|
||||||
`
|
```
|
@ -13,7 +13,8 @@ localeTitle: تحقق مما إذا كان الكائن يحتوي على خاص
|
|||||||
|
|
||||||
### حل 1:
|
### حل 1:
|
||||||
|
|
||||||
`let users = {
|
```javascript
|
||||||
|
let users = {
|
||||||
Alan: {
|
Alan: {
|
||||||
age: 27,
|
age: 27,
|
||||||
online: true
|
online: true
|
||||||
@ -42,11 +43,12 @@ localeTitle: تحقق مما إذا كان الكائن يحتوي على خاص
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log(isEveryoneHere(users));
|
console.log(isEveryoneHere(users));
|
||||||
`
|
```
|
||||||
|
|
||||||
### حل 2:
|
### حل 2:
|
||||||
|
|
||||||
`function isEveryoneHere(obj) {
|
```javascript
|
||||||
|
function isEveryoneHere(obj) {
|
||||||
return (users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) ? true : false;
|
return (users.hasOwnProperty('Alan','Jeff','Sarah','Ryan')) ? true : false;
|
||||||
}
|
}
|
||||||
`
|
```
|
@ -8,7 +8,8 @@ localeTitle: الجمع بين المصفوفات مع المشغل انتشار
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function spreadOut() {
|
```javascript
|
||||||
|
function spreadOut() {
|
||||||
let fragment = ['to', 'code'];
|
let fragment = ['to', 'code'];
|
||||||
let sentence = ["learning", ...fragment, "is", "fun"]; // change this line
|
let sentence = ["learning", ...fragment, "is", "fun"]; // change this line
|
||||||
return sentence;
|
return sentence;
|
||||||
@ -16,4 +17,4 @@ localeTitle: الجمع بين المصفوفات مع المشغل انتشار
|
|||||||
|
|
||||||
// do not change code below this line
|
// do not change code below this line
|
||||||
console.log(spreadOut());
|
console.log(spreadOut());
|
||||||
`
|
```
|
@ -17,11 +17,12 @@ localeTitle: نسخ صفيف العناصر باستخدام شريحة ()
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function forecast(arr) {
|
```javascript
|
||||||
|
function forecast(arr) {
|
||||||
// change code below this line
|
// change code below this line
|
||||||
return arr.slice(2,4);
|
return arr.slice(2,4);
|
||||||
}
|
}
|
||||||
|
|
||||||
// do not change code below this line
|
// do not change code below this line
|
||||||
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));
|
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));
|
||||||
`
|
```
|
@ -6,14 +6,16 @@ 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
|
||||||
|
let myNestedArray = [
|
||||||
// change code below this line
|
// change code below this line
|
||||||
['unshift', false, 1, 2, 3, 'complex', 'nested'],
|
['unshift', false, 1, 2, 3, 'complex', 'nested'],
|
||||||
['loop', 'shift', 6, 7, 1000, 'method'],
|
['loop', 'shift', 6, 7, 1000, 'method'],
|
||||||
@ -22,4 +24,4 @@ localeTitle: إنشاء صفائف معقدة متعددة الأبعاد
|
|||||||
['iterate', 1.3849, 7, '8.4876', 'arbitrary', 'depth', [[["deepest"]]] ]
|
['iterate', 1.3849, 7, '8.4876', 'arbitrary', 'depth', [[["deepest"]]] ]
|
||||||
// change code above this line
|
// change code above this line
|
||||||
];
|
];
|
||||||
`
|
```
|
@ -11,7 +11,8 @@ localeTitle: إنشاء صفيف من كافة مفاتيح الكائنات م
|
|||||||
|
|
||||||
### حل:
|
### حل:
|
||||||
|
|
||||||
`let users = {
|
```javascript
|
||||||
|
let users = {
|
||||||
Alan: {
|
Alan: {
|
||||||
age: 27,
|
age: 27,
|
||||||
online: false
|
online: false
|
||||||
@ -37,4 +38,4 @@ localeTitle: إنشاء صفيف من كافة مفاتيح الكائنات م
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log(getArrayOfUsers(users));
|
console.log(getArrayOfUsers(users));
|
||||||
`
|
```
|
@ -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` ، تستمر الحلقة مع العنصر التالي.
|
||||||
|
|
||||||
|
@ -11,7 +11,8 @@ localeTitle: تعديل كائن متداخل داخل كائن
|
|||||||
|
|
||||||
## مثال:
|
## مثال:
|
||||||
|
|
||||||
`let myObject = {
|
```javascript
|
||||||
|
let myObject = {
|
||||||
level_1: 'outside',
|
level_1: 'outside',
|
||||||
first_level_object: {
|
first_level_object: {
|
||||||
level_2: '2 levels deep',
|
level_2: '2 levels deep',
|
||||||
@ -22,11 +23,12 @@ localeTitle: تعديل كائن متداخل داخل كائن
|
|||||||
};
|
};
|
||||||
//The following line of code will modify the data found in level_2.
|
//The following line of code will modify the data found in level_2.
|
||||||
myObject.first_level_object.level_2 = 'level-2 has been reached';
|
myObject.first_level_object.level_2 = 'level-2 has been reached';
|
||||||
`
|
```
|
||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`let userActivity = {
|
```javascript
|
||||||
|
let userActivity = {
|
||||||
id: 23894201352,
|
id: 23894201352,
|
||||||
date: 'January 1, 2017',
|
date: 'January 1, 2017',
|
||||||
data: {
|
data: {
|
||||||
@ -40,4 +42,4 @@ localeTitle: تعديل كائن متداخل داخل كائن
|
|||||||
// change code above this line
|
// change code above this line
|
||||||
|
|
||||||
console.log(userActivity);
|
console.log(userActivity);
|
||||||
`
|
```
|
@ -8,7 +8,8 @@ localeTitle: إزالة العناصر من صفيف مع pop () و shift ()
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function popShift(arr) {
|
```javascript
|
||||||
|
function popShift(arr) {
|
||||||
let popped = arr.pop();
|
let popped = arr.pop();
|
||||||
let shifted = arr.shift();
|
let shifted = arr.shift();
|
||||||
return [shifted, popped];
|
return [shifted, popped];
|
||||||
@ -16,4 +17,4 @@ localeTitle: إزالة العناصر من صفيف مع pop () و shift ()
|
|||||||
|
|
||||||
// do not change code below this line
|
// do not change code below this line
|
||||||
console.log(popShift(['challenge', 'is', 'not', 'complete']));
|
console.log(popShift(['challenge', 'is', 'not', 'complete']));
|
||||||
`
|
```
|
@ -9,7 +9,8 @@ localeTitle: إزالة العناصر باستخدام لصق ()
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function sumOfTen(arr) {
|
```javascript
|
||||||
|
function sumOfTen(arr) {
|
||||||
// change code below this line
|
// change code below this line
|
||||||
arr.splice(1,2);
|
arr.splice(1,2);
|
||||||
// change code above this line
|
// change code above this line
|
||||||
@ -18,4 +19,4 @@ localeTitle: إزالة العناصر باستخدام لصق ()
|
|||||||
|
|
||||||
// do not change code below this line
|
// do not change code below this line
|
||||||
console.log(sumOfTen([2, 5, 1, 5, 2, 1]));
|
console.log(sumOfTen([2, 5, 1, 5, 2, 1]));
|
||||||
`
|
```
|
@ -8,7 +8,8 @@ localeTitle: استخدم Delete keyword to Remove Object Properties
|
|||||||
|
|
||||||
### حل:
|
### حل:
|
||||||
|
|
||||||
`let foods = {
|
```javascript
|
||||||
|
let foods = {
|
||||||
apples: 25,
|
apples: 25,
|
||||||
oranges: 32,
|
oranges: 32,
|
||||||
plums: 28,
|
plums: 28,
|
||||||
@ -22,4 +23,4 @@ localeTitle: استخدم Delete keyword to Remove Object Properties
|
|||||||
delete foods.strawberries;
|
delete foods.strawberries;
|
||||||
// change code above this line
|
// change code above this line
|
||||||
console.log(foods);
|
console.log(foods);
|
||||||
`
|
```
|
@ -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 firstElem = arr[0] // This is "Programming"
|
||||||
var thirdElem = arr[2] // This is "Coding"
|
var thirdElem = arr[2] // This is "Coding"
|
||||||
var fourthElem = arr[3] // This is 789
|
var fourthElem = arr[3] // This is 789
|
||||||
`
|
```
|
||||||
|
|
||||||
لاحظ أن طول الصفيف هو 4 ، وأن موضع آخر عنصر في المصفوفة هو 3.
|
لاحظ أن طول الصفيف هو 4 ، وأن موضع آخر عنصر في المصفوفة هو 3.
|
@ -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!
|
@ -16,7 +16,8 @@ localeTitle: الوصول إلى صفائف متداخلة
|
|||||||
|
|
||||||
### الوصول إلى الكائنات داخل المصفوفات باستخدام braket `[]` ونقطة `.` الرموز
|
### الوصول إلى الكائنات داخل المصفوفات باستخدام braket `[]` ونقطة `.` الرموز
|
||||||
|
|
||||||
`var garage = [
|
```js
|
||||||
|
var garage = [
|
||||||
{
|
{
|
||||||
type: 'car',
|
type: 'car',
|
||||||
color: 'red',
|
color: 'red',
|
||||||
@ -35,7 +36,7 @@ localeTitle: الوصول إلى صفائف متداخلة
|
|||||||
];
|
];
|
||||||
|
|
||||||
var busColor = garage[2].color; // 'yellow'
|
var busColor = garage[2].color; // 'yellow'
|
||||||
`
|
```
|
||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@ localeTitle: الوصول إلى الكائنات المتداخلة
|
|||||||
|
|
||||||
إذا نظرنا إلى هدفنا:
|
إذا نظرنا إلى هدفنا:
|
||||||
|
|
||||||
`var myStorage = {
|
```javascript
|
||||||
|
var myStorage = {
|
||||||
"car": {
|
"car": {
|
||||||
"inside": {
|
"inside": {
|
||||||
"glove box": "maps",
|
"glove box": "maps",
|
||||||
@ -19,7 +20,7 @@ localeTitle: الوصول إلى الكائنات المتداخلة
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
`
|
```
|
||||||
|
|
||||||
اسم هدفنا هو `myStorage` .
|
اسم هدفنا هو `myStorage` .
|
||||||
|
|
||||||
@ -29,20 +30,22 @@ localeTitle: الوصول إلى الكائنات المتداخلة
|
|||||||
|
|
||||||
يمكنك تصور بنية الكائن مثل هذا ، إذا كانت تساعد:
|
يمكنك تصور بنية الكائن مثل هذا ، إذا كانت تساعد:
|
||||||
|
|
||||||
`myStorage
|
```
|
||||||
|
myStorage
|
||||||
|-- car
|
|-- car
|
||||||
|--- inside
|
|--- inside
|
||||||
|----- glove box: maps
|
|----- glove box: maps
|
||||||
|----- passenger seat: crumbs
|
|----- passenger seat: crumbs
|
||||||
|--- outside
|
|--- outside
|
||||||
|----- trunk: jack
|
|----- 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` بالطريقة الصحيحة للوصول إلى الخاصية. انظر فكرة أعلاه إذا واجهتك مشكلة.
|
@ -6,7 +6,8 @@ localeTitle: الوصول إلى خصائص كائن مع تدرج قوس
|
|||||||
|
|
||||||
فيما يلي حل واحد ممكن:
|
فيما يلي حل واحد ممكن:
|
||||||
|
|
||||||
`var testObj = {
|
```js
|
||||||
|
var testObj = {
|
||||||
"an entree": "hamburger",
|
"an entree": "hamburger",
|
||||||
"my side": "veggies",
|
"my side": "veggies",
|
||||||
"the drink": "water"
|
"the drink": "water"
|
||||||
@ -16,4 +17,4 @@ localeTitle: الوصول إلى خصائص كائن مع تدرج قوس
|
|||||||
|
|
||||||
var entreeValue = testObj["an entree"]; // Change this line
|
var entreeValue = testObj["an entree"]; // Change this line
|
||||||
var drinkValue = testObj["the drink"]; // Change this line
|
var drinkValue = testObj["the drink"]; // Change this line
|
||||||
`
|
```
|
@ -6,7 +6,8 @@ localeTitle: الوصول إلى خصائص كائن مع ترميز Dot
|
|||||||
|
|
||||||
فيما يلي حل واحد ممكن:
|
فيما يلي حل واحد ممكن:
|
||||||
|
|
||||||
`var testObj = {
|
```js
|
||||||
|
var testObj = {
|
||||||
"hat": "ballcap",
|
"hat": "ballcap",
|
||||||
"shirt": "jersey",
|
"shirt": "jersey",
|
||||||
"shoes": "cleats"
|
"shoes": "cleats"
|
||||||
@ -16,4 +17,4 @@ localeTitle: الوصول إلى خصائص كائن مع ترميز Dot
|
|||||||
|
|
||||||
var hatValue = testObj.hat; // Change this line
|
var hatValue = testObj.hat; // Change this line
|
||||||
var shirtValue = testObj.shirt; // Change this line
|
var shirtValue = testObj.shirt; // Change this line
|
||||||
`
|
```
|
@ -6,7 +6,8 @@ localeTitle: الوصول إلى خصائص الكائن مع المتغيرات
|
|||||||
|
|
||||||
إليك حلًا عمليًا في حالة عطلك:
|
إليك حلًا عمليًا في حالة عطلك:
|
||||||
|
|
||||||
`// Setup
|
```js
|
||||||
|
// Setup
|
||||||
var testObj = {
|
var testObj = {
|
||||||
12: "Namath",
|
12: "Namath",
|
||||||
16: "Montana",
|
16: "Montana",
|
||||||
@ -17,4 +18,4 @@ localeTitle: الوصول إلى خصائص الكائن مع المتغيرات
|
|||||||
|
|
||||||
var playerNumber = 16; // Change this Line
|
var playerNumber = 16; // Change this Line
|
||||||
var player = testObj[playerNumber]; // Change this Line
|
var player = testObj[playerNumber]; // Change this Line
|
||||||
`
|
```
|
@ -6,7 +6,8 @@ localeTitle: أضف خصائص جديدة إلى كائن JavaScript
|
|||||||
|
|
||||||
هنا هو المثال:
|
هنا هو المثال:
|
||||||
|
|
||||||
`var ourDog = {
|
```js
|
||||||
|
var ourDog = {
|
||||||
"name": "Camper",
|
"name": "Camper",
|
||||||
"legs": 4,
|
"legs": 4,
|
||||||
"tails": 1,
|
"tails": 1,
|
||||||
@ -14,11 +15,12 @@ localeTitle: أضف خصائص جديدة إلى كائن JavaScript
|
|||||||
};
|
};
|
||||||
|
|
||||||
ourDog.bark = "bow-wow";
|
ourDog.bark = "bow-wow";
|
||||||
`
|
```
|
||||||
|
|
||||||
وإليك الحل:
|
وإليك الحل:
|
||||||
|
|
||||||
`var myDog = {
|
```js
|
||||||
|
var myDog = {
|
||||||
"name": "Happy Coder",
|
"name": "Happy Coder",
|
||||||
"legs": 4,
|
"legs": 4,
|
||||||
"tails": 1,
|
"tails": 1,
|
||||||
@ -27,4 +29,4 @@ localeTitle: أضف خصائص جديدة إلى كائن JavaScript
|
|||||||
|
|
||||||
// Only change code below this line.
|
// Only change code below this line.
|
||||||
myDog.bark = "woof";
|
myDog.bark = "woof";
|
||||||
`
|
```
|
@ -8,5 +8,6 @@ localeTitle: التنازل مع القيمة المرتجعة
|
|||||||
|
|
||||||
هنا هو الحل الأساسي رمز:
|
هنا هو الحل الأساسي رمز:
|
||||||
|
|
||||||
`processed = processArg(7); // Equal to 2
|
```javascript
|
||||||
`
|
processed = processArg(7); // Equal to 2
|
||||||
|
```
|
@ -30,7 +30,8 @@ _`num < 5` - عودة "صغيرة" `num < 10` - عودة "صغير" `num < 15` -
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`function testSize(num) {
|
```javascript
|
||||||
|
function testSize(num) {
|
||||||
// Only change code below this line
|
// Only change code below this line
|
||||||
if (num < 5){
|
if (num < 5){
|
||||||
return "Tiny";
|
return "Tiny";
|
||||||
@ -49,7 +50,7 @@ _`num < 5` - عودة "صغيرة" `num < 10` - عودة "صغير" `num < 15` -
|
|||||||
}
|
}
|
||||||
// Only change code above this line
|
// Only change code above this line
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -20,7 +20,8 @@ _أضف عامل المساواة إلى الخط المحدد بحيث تقوم
|
|||||||
|
|
||||||
## حل الرمز الأساسي:
|
## حل الرمز الأساسي:
|
||||||
|
|
||||||
`function testEqual(val) {
|
```javascript
|
||||||
|
function testEqual(val) {
|
||||||
if (val == 12) { // Change this line
|
if (val == 12) { // Change this line
|
||||||
return "Equal";
|
return "Equal";
|
||||||
}
|
}
|
||||||
@ -28,7 +29,7 @@ _أضف عامل المساواة إلى الخط المحدد بحيث تقوم
|
|||||||
}
|
}
|
||||||
// Change this value to test
|
// Change this value to test
|
||||||
testEqual(10);
|
testEqual(10);
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -24,7 +24,8 @@ localeTitle: مقارنة مع مشغل المساواة الصارمة
|
|||||||
|
|
||||||
## حل الرمز الأساسي:
|
## حل الرمز الأساسي:
|
||||||
|
|
||||||
`// Setup
|
```javascript
|
||||||
|
// Setup
|
||||||
function testStrict(val) {
|
function testStrict(val) {
|
||||||
if (val === 7) { // Change this line
|
if (val === 7) { // Change this line
|
||||||
return "Equal";
|
return "Equal";
|
||||||
@ -34,7 +35,7 @@ localeTitle: مقارنة مع مشغل المساواة الصارمة
|
|||||||
|
|
||||||
// Change this value to test
|
// Change this value to test
|
||||||
testStrict(10);
|
testStrict(10);
|
||||||
`
|
```
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
|
||||||
|
@ -20,7 +20,8 @@ localeTitle: مقارنة مع مشغل عدم المساواة الصارم
|
|||||||
|
|
||||||
## حل الرمز الأساسي:
|
## حل الرمز الأساسي:
|
||||||
|
|
||||||
`function testStrictNotEqual(val) {
|
```javascript
|
||||||
|
function testStrictNotEqual(val) {
|
||||||
if (val !== 17) {
|
if (val !== 17) {
|
||||||
return "Not equal";
|
return "Not equal";
|
||||||
}
|
}
|
||||||
@ -29,7 +30,7 @@ localeTitle: مقارنة مع مشغل عدم المساواة الصارم
|
|||||||
|
|
||||||
// Change this value to test
|
// Change this value to test
|
||||||
testStrictNotEqual(10);
|
testStrictNotEqual(10);
|
||||||
`
|
```
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
|
||||||
|
@ -26,7 +26,8 @@ localeTitle: مقارنات مع عامل التشغيل && (المنطقية AN
|
|||||||
|
|
||||||
## حل الرمز الأساسي:
|
## حل الرمز الأساسي:
|
||||||
|
|
||||||
`function testLogicalAnd(val) {
|
```javascript
|
||||||
|
function testLogicalAnd(val) {
|
||||||
// Only change code below this line
|
// Only change code below this line
|
||||||
|
|
||||||
if (val <= 50 && val >= 25) {
|
if (val <= 50 && val >= 25) {
|
||||||
@ -39,7 +40,7 @@ localeTitle: مقارنات مع عامل التشغيل && (المنطقية AN
|
|||||||
|
|
||||||
// Change this value to test
|
// Change this value to test
|
||||||
testLogicalAnd(10);
|
testLogicalAnd(10);
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -10,9 +10,10 @@ localeTitle: مقارنات مع المنطقي أو المشغل
|
|||||||
|
|
||||||
أدناه هو نموذج التعليمة البرمجية (أبسط طريقة).
|
أدناه هو نموذج التعليمة البرمجية (أبسط طريقة).
|
||||||
|
|
||||||
`if ( val < 10 || val > 20 ) {
|
```javascript
|
||||||
|
if ( val < 10 || val > 20 ) {
|
||||||
return "Outside";
|
return "Outside";
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
سيعود الرمز أعلاه "خارجي" فقط إذا كان `val` يتراوح بين 10 و 20 (ضمناً).
|
سيعود الرمز أعلاه "خارجي" فقط إذا كان `val` يتراوح بين 10 و 20 (ضمناً).
|
@ -6,7 +6,8 @@ localeTitle: عد إلى الخلف مع ل حلقة
|
|||||||
|
|
||||||
هنا هو المثال:
|
هنا هو المثال:
|
||||||
|
|
||||||
`// Example
|
```javascript
|
||||||
|
// Example
|
||||||
var ourArray = [];
|
var ourArray = [];
|
||||||
|
|
||||||
for (var i = 10; i > 0; i -= 2) {
|
for (var i = 10; i > 0; i -= 2) {
|
||||||
@ -17,7 +18,7 @@ localeTitle: عد إلى الخلف مع ل حلقة
|
|||||||
var myArray = [];
|
var myArray = [];
|
||||||
|
|
||||||
// Only change code below this line.
|
// Only change code below this line.
|
||||||
`
|
```
|
||||||
|
|
||||||
#### تلميح: 1
|
#### تلميح: 1
|
||||||
|
|
||||||
@ -29,7 +30,8 @@ localeTitle: عد إلى الخلف مع ل حلقة
|
|||||||
|
|
||||||
# تحذير SPOILER: SOLUTION AHEAD
|
# تحذير SPOILER: SOLUTION AHEAD
|
||||||
|
|
||||||
`var ourArray = [];
|
```javascript
|
||||||
|
var ourArray = [];
|
||||||
|
|
||||||
for (var i = 10; i > 0; i -= 2) {
|
for (var i = 10; i > 0; i -= 2) {
|
||||||
ourArray.push(i);
|
ourArray.push(i);
|
||||||
@ -42,4 +44,4 @@ localeTitle: عد إلى الخلف مع ل حلقة
|
|||||||
for (var i = 9; i > 0; i-=2){
|
for (var i = 9; i > 0; i-=2){
|
||||||
myArray.push(i)
|
myArray.push(i)
|
||||||
}
|
}
|
||||||
`
|
```
|
@ -105,7 +105,8 @@ localeTitle: عد بطاقات
|
|||||||
|
|
||||||
## حل رمز إضافي:
|
## حل رمز إضافي:
|
||||||
|
|
||||||
`function cc(card) {
|
```javascript
|
||||||
|
function cc(card) {
|
||||||
// Only change code below this line
|
// Only change code below this line
|
||||||
var regex = /[JQKA]/;
|
var regex = /[JQKA]/;
|
||||||
if (card > 1 && card < 7){count++;}
|
if (card > 1 && card < 7){count++;}
|
||||||
@ -116,7 +117,7 @@ localeTitle: عد بطاقات
|
|||||||
|
|
||||||
// Only change code above this line
|
// Only change code above this line
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -10,7 +10,8 @@ localeTitle: حذف الخصائص من كائن JavaScript
|
|||||||
|
|
||||||
# تحذير SPOILER: SOLUTION AHEAD
|
# تحذير SPOILER: SOLUTION AHEAD
|
||||||
|
|
||||||
`var ourDog = {
|
```javascript
|
||||||
|
var ourDog = {
|
||||||
"name": "Camper",
|
"name": "Camper",
|
||||||
"legs": 4,
|
"legs": 4,
|
||||||
"tails": 1,
|
"tails": 1,
|
||||||
@ -31,4 +32,4 @@ localeTitle: حذف الخصائص من كائن JavaScript
|
|||||||
|
|
||||||
// Only change code below this line.
|
// Only change code below this line.
|
||||||
delete myDog.tails;
|
delete myDog.tails;
|
||||||
`
|
```
|
@ -10,8 +10,9 @@ localeTitle: الهروب من الأسعار الحرفيه في الاوتار
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`var myStr = "I am a \"double quoted\" string inside \"double quotes\".";
|
```javascript
|
||||||
|
var myStr = "I am a \"double quoted\" string inside \"double quotes\".";
|
||||||
var otherStr = 'I am a \'single quoted\' string inside \'single quotes\'.';
|
var otherStr = 'I am a \'single quoted\' string inside \'single quotes\'.';
|
||||||
var noEscapeSingle = "There is no need to 'escape' the single quotes.";
|
var noEscapeSingle = "There is no need to 'escape' the single quotes.";
|
||||||
var noEscapeDouble = 'There is no need to "escape" the double quotes.';
|
var noEscapeDouble = 'There is no need to "escape" the double quotes.';
|
||||||
`
|
```
|
@ -14,25 +14,27 @@ localeTitle: النطاق العالمي والوظائف
|
|||||||
|
|
||||||
عند إضافة `var` قبل اسم المتغير ، يتم تحديد نطاقه حسب مكان وضعه. مثل ذلك:
|
عند إضافة `var` قبل اسم المتغير ، يتم تحديد نطاقه حسب مكان وضعه. مثل ذلك:
|
||||||
|
|
||||||
`var num1 = 18; // Global scope
|
```javascript
|
||||||
|
var num1 = 18; // Global scope
|
||||||
function fun() {
|
function fun() {
|
||||||
var num2 = 20; // Local (Function) Scope
|
var num2 = 20; // Local (Function) Scope
|
||||||
if (true) {
|
if (true) {
|
||||||
var num3 = 22; // Block Scope (within an if-statement)
|
var num3 = 22; // Block Scope (within an if-statement)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
عندما لا تفعل ، هذه هي النتيجة:
|
عندما لا تفعل ، هذه هي النتيجة:
|
||||||
|
|
||||||
`num1 = 18; // Global scope
|
```javascript
|
||||||
|
num1 = 18; // Global scope
|
||||||
function fun() {
|
function fun() {
|
||||||
num2 = 20; // Global Scope
|
num2 = 20; // Global Scope
|
||||||
if (true) {
|
if (true) {
|
||||||
num3 = 22; // Global Scope
|
num3 = 22; // Global Scope
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
حسنًا ، إليك حل الشفرة الأساسية.
|
حسنًا ، إليك حل الشفرة الأساسية.
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@ localeTitle: نطاق عالمي مقابل نطاق محلي في الوظائ
|
|||||||
|
|
||||||
في هذا التمرين ، يكون لديك متغير `outerWear` في النطاق العالمي باستخدام "T-shirt" باعتباره قيمته. يجب عليك الآن إنشاء متغير آخر يسمى `outerWear` ، ولكن هذه المرة داخل الدالة `myOutfit()` . الحل الأساسي رمز كما يلي:
|
في هذا التمرين ، يكون لديك متغير `outerWear` في النطاق العالمي باستخدام "T-shirt" باعتباره قيمته. يجب عليك الآن إنشاء متغير آخر يسمى `outerWear` ، ولكن هذه المرة داخل الدالة `myOutfit()` . الحل الأساسي رمز كما يلي:
|
||||||
|
|
||||||
`var outerWear = "T-shirt";
|
```javascript
|
||||||
|
var outerWear = "T-shirt";
|
||||||
|
|
||||||
function myOutfit() {
|
function myOutfit() {
|
||||||
var outerWear = "sweater";
|
var outerWear = "sweater";
|
||||||
@ -16,6 +17,6 @@ localeTitle: نطاق عالمي مقابل نطاق محلي في الوظائ
|
|||||||
}
|
}
|
||||||
|
|
||||||
myOutfit();
|
myOutfit();
|
||||||
`
|
```
|
||||||
|
|
||||||
ستقوم الدالة بإرجاع أقرب `outerWear` يمكن العثور عليه. منذ أن أنشأنا `outerWear` داخل الدالة ، وهذا هو "الأقرب" ، وبالتالي فإن الدالة ستعود "سترة".
|
ستقوم الدالة بإرجاع أقرب `outerWear` يمكن العثور عليه. منذ أن أنشأنا `outerWear` داخل الدالة ، وهذا هو "الأقرب" ، وبالتالي فإن الدالة ستعود "سترة".
|
@ -82,7 +82,8 @@ par + 2 | "بوجيه مزدوج" > = par + 3 | "اذهب للمنزل!"
|
|||||||
|
|
||||||
## حل رمز بديل:
|
## حل رمز بديل:
|
||||||
|
|
||||||
`var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];
|
```javascript
|
||||||
|
var names = ["Hole-in-one!", "Eagle", "Birdie", "Par", "Bogey", "Double Bogey", "Go Home!"];
|
||||||
function golfScore(par, strokes) {
|
function golfScore(par, strokes) {
|
||||||
// Only change code below this line
|
// Only change code below this line
|
||||||
if (strokes == 1){
|
if (strokes == 1){
|
||||||
@ -109,7 +110,7 @@ par + 2 | "بوجيه مزدوج" > = par + 3 | "اذهب للمنزل!"
|
|||||||
|
|
||||||
// Change these values to test
|
// Change these values to test
|
||||||
golfScore(5, 4);
|
golfScore(5, 4);
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
\## شرح الكود نظرًا لأن لدينا بالفعل صفيفًا محددًا في `names` المتغيرات ، فيمكننا الاستفادة منه واستخدامه في عبارات الإرجاع باستخدام الفهارس (على سبيل المثال: `names[0] is the first one` ). بهذه الطريقة ، إذا احتجت في أي وقت إلى تغيير نتيجة معينة فلن تحتاج إلى البحث عنها داخل الوظيفة ، فستكون في البداية ، في الصفيف الخاص بك.
|
\## شرح الكود نظرًا لأن لدينا بالفعل صفيفًا محددًا في `names` المتغيرات ، فيمكننا الاستفادة منه واستخدامه في عبارات الإرجاع باستخدام الفهارس (على سبيل المثال: `names[0] is the first one` ). بهذه الطريقة ، إذا احتجت في أي وقت إلى تغيير نتيجة معينة فلن تحتاج إلى البحث عنها داخل الوظيفة ، فستكون في البداية ، في الصفيف الخاص بك.
|
||||||
|
@ -6,7 +6,8 @@ localeTitle: تكرار الأرقام الفردية مع ل حلقة
|
|||||||
|
|
||||||
هنا هو المثال:
|
هنا هو المثال:
|
||||||
|
|
||||||
`var ourArray = [];
|
```javascript
|
||||||
|
var ourArray = [];
|
||||||
|
|
||||||
for (var i = 0; i < 10; i += 2) {
|
for (var i = 0; i < 10; i += 2) {
|
||||||
ourArray.push(i);
|
ourArray.push(i);
|
||||||
@ -16,7 +17,7 @@ localeTitle: تكرار الأرقام الفردية مع ل حلقة
|
|||||||
var myArray = [];
|
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` حلقة. تحتاج إلى نسخ حلقة من الجزء العلوي:
|
||||||
|
|
||||||
|
@ -8,11 +8,12 @@ localeTitle: تكرار مع JavaScript Do ... While Loops
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`var myArray = [];
|
```javascript
|
||||||
|
var myArray = [];
|
||||||
var i = 10;
|
var i = 10;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
myArray.push(i);
|
myArray.push(i);
|
||||||
i++;
|
i++;
|
||||||
} while(i <= 10);
|
} while(i <= 10);
|
||||||
`
|
```
|
@ -6,25 +6,28 @@ localeTitle: تكررت مع جافا سكريبت في حين الحلقات
|
|||||||
|
|
||||||
بينما سيتم تشغيل حلقات طالما أن الشرط الموجود داخل () صحيح. مثال:
|
بينما سيتم تشغيل حلقات طالما أن الشرط الموجود داخل () صحيح. مثال:
|
||||||
|
|
||||||
`while(condition){
|
```javascript
|
||||||
|
while(condition){
|
||||||
code...
|
code...
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
## تلميح 1:
|
## تلميح 1:
|
||||||
|
|
||||||
استخدم متغير مكرر مثل i في حالتك
|
استخدم متغير مكرر مثل i في حالتك
|
||||||
|
|
||||||
`var i = 0;
|
```javascript
|
||||||
|
var i = 0;
|
||||||
while(i <= 4){
|
while(i <= 4){
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
## Spoiler Alert Solution إلى الأمام!
|
## Spoiler Alert Solution إلى الأمام!
|
||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`// Setup
|
```javascript
|
||||||
|
// Setup
|
||||||
var myArray = [];
|
var myArray = [];
|
||||||
|
|
||||||
// Only change code below this line.
|
// Only change code below this line.
|
||||||
@ -33,4 +36,4 @@ localeTitle: تكررت مع جافا سكريبت في حين الحلقات
|
|||||||
myArray.push(i);
|
myArray.push(i);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
`
|
```
|
@ -8,11 +8,12 @@ localeTitle: النطاق المحلي والوظائف
|
|||||||
|
|
||||||
فيما يلي الحل الأساسي للتعليمات البرمجية لإنشاء متغير `myVar` محلي.
|
فيما يلي الحل الأساسي للتعليمات البرمجية لإنشاء متغير `myVar` محلي.
|
||||||
|
|
||||||
`function myLocalScope() {
|
```javascript
|
||||||
|
function myLocalScope() {
|
||||||
var myVar;
|
var myVar;
|
||||||
console.log(myVar);
|
console.log(myVar);
|
||||||
}
|
}
|
||||||
myLocalScope();
|
myLocalScope();
|
||||||
`
|
```
|
||||||
|
|
||||||
المتغير موجود فقط في الوظيفة. خارج الوظيفة ، هو غير موجود.
|
المتغير موجود فقط في الوظيفة. خارج الوظيفة ، هو غير موجود.
|
@ -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
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ localeTitle: التعامل مع صفائف بدفع ()
|
|||||||
|
|
||||||
تسمح لك طريقة `push()` بإلحاق (إضافة إلى النهاية) عنصر إلى مصفوفة. مثل ذلك…
|
تسمح لك طريقة `push()` بإلحاق (إضافة إلى النهاية) عنصر إلى مصفوفة. مثل ذلك…
|
||||||
|
|
||||||
`var arr = [1, 2, 3, 4];
|
```javascript
|
||||||
|
var arr = [1, 2, 3, 4];
|
||||||
arr.push(5); // Now, the array is [1, 2, 3, 4, 5]
|
arr.push(5); // Now, the array is [1, 2, 3, 4, 5]
|
||||||
`
|
```
|
@ -6,6 +6,7 @@ localeTitle: التعامل مع صفائف مع shift ()
|
|||||||
|
|
||||||
بينما تم استخدام `pop()` للتخلص من العنصر الأخير من صفيف ، يتم استخدام `shift()` للتخلص من العنصر الأول. إنها تشبه أنك تقوم بتحويل العناصر إلى موضع واحد. تحقق من هذا:
|
بينما تم استخدام `pop()` للتخلص من العنصر الأخير من صفيف ، يتم استخدام `shift()` للتخلص من العنصر الأول. إنها تشبه أنك تقوم بتحويل العناصر إلى موضع واحد. تحقق من هذا:
|
||||||
|
|
||||||
`var arr = [1, 2, 3, 4, 5];
|
```javascript
|
||||||
|
var arr = [1, 2, 3, 4, 5];
|
||||||
arr.shift(); // Gets rid of the 1
|
arr.shift(); // Gets rid of the 1
|
||||||
`
|
```
|
@ -6,6 +6,7 @@ localeTitle: معالجة صفائف مع unshift ()
|
|||||||
|
|
||||||
بينما `push()` إضافة عناصر إلى الجزء الخلفي من المصفوفة ، يضيف `unshift()` إلى الأمام. كل ما عليك القيام به هو:
|
بينما `push()` إضافة عناصر إلى الجزء الخلفي من المصفوفة ، يضيف `unshift()` إلى الأمام. كل ما عليك القيام به هو:
|
||||||
|
|
||||||
`var arr = [2, 3, 4, 5];
|
```javascript
|
||||||
|
var arr = [2, 3, 4, 5];
|
||||||
arr.unshift(1); // Now, the array has 1 in the front
|
arr.unshift(1); // Now, the array has 1 in the front
|
||||||
`
|
```
|
@ -6,7 +6,8 @@ localeTitle: معالجة الكائنات المعقدة
|
|||||||
|
|
||||||
هنا هو المثال:
|
هنا هو المثال:
|
||||||
|
|
||||||
`var myMusic = [
|
```javascript
|
||||||
|
var myMusic = [
|
||||||
{
|
{
|
||||||
"artist": "Billy Joel",
|
"artist": "Billy Joel",
|
||||||
"title": "Piano Man",
|
"title": "Piano Man",
|
||||||
@ -20,7 +21,7 @@ localeTitle: معالجة الكائنات المعقدة
|
|||||||
}
|
}
|
||||||
// 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 }`
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@ localeTitle: خيارات متعددة مماثلة في بيانات التبد
|
|||||||
|
|
||||||
_إذا تم حذف بيان الفاصل من حالة عبارة التبديل ، يتم تنفيذ العبارة (الحالات) التالية إلى أن تتم مصادفة فاصل. إذا كان لديك مدخلات متعددة بنفس المخرجات ، فيمكنك تمثيلها في بيان تبديل مثل هذا:_
|
_إذا تم حذف بيان الفاصل من حالة عبارة التبديل ، يتم تنفيذ العبارة (الحالات) التالية إلى أن تتم مصادفة فاصل. إذا كان لديك مدخلات متعددة بنفس المخرجات ، فيمكنك تمثيلها في بيان تبديل مثل هذا:_
|
||||||
|
|
||||||
`switch(val) {
|
```javascript
|
||||||
|
switch(val) {
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
@ -17,7 +18,7 @@ _إذا تم حذف بيان الفاصل من حالة عبارة التبدي
|
|||||||
case 4:
|
case 4:
|
||||||
result = "4 alone";
|
result = "4 alone";
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
_الحالات 1 و 2 و 3 ستنتج نفس النتيجة._
|
_الحالات 1 و 2 و 3 ستنتج نفس النتيجة._
|
||||||
|
|
||||||
|
@ -6,7 +6,8 @@ localeTitle: عش صف واحد داخل صفيف آخر
|
|||||||
|
|
||||||
المصفوفات هي أحادية البعد؛ هذا يعني أنه يتم تخزين صف واحد فقط من البيانات. ولكن يمكنك إنشاء صفيف متعدد الأبعاد عن طريق وضع المصفوفات داخل المصفوفات! مثل ذلك:
|
المصفوفات هي أحادية البعد؛ هذا يعني أنه يتم تخزين صف واحد فقط من البيانات. ولكن يمكنك إنشاء صفيف متعدد الأبعاد عن طريق وضع المصفوفات داخل المصفوفات! مثل ذلك:
|
||||||
|
|
||||||
`var arr = [["Two-dimensional", 2], ["Two rows", 12]];
|
```javascript
|
||||||
`
|
var arr = [["Two-dimensional", 2], ["Two rows", 12]];
|
||||||
|
```
|
||||||
|
|
||||||
الصفيف أعلاه له بعدان.
|
الصفيف أعلاه له بعدان.
|
@ -12,7 +12,8 @@ localeTitle: التعشيش للحلقات
|
|||||||
|
|
||||||
هنا مثال:
|
هنا مثال:
|
||||||
|
|
||||||
`var arr = [
|
```
|
||||||
|
var arr = [
|
||||||
[1,2], [3,4], [5,6]
|
[1,2], [3,4], [5,6]
|
||||||
];
|
];
|
||||||
for (var i=0; i < arr.length; i++) {
|
for (var i=0; i < arr.length; i++) {
|
||||||
@ -20,7 +21,7 @@ localeTitle: التعشيش للحلقات
|
|||||||
console.log(arr[i][j]);
|
console.log(arr[i][j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
هذا إخراج كل عنصر فرعي في `arr` واحد في كل مرة. لاحظ أنه بالنسبة للحلقة الداخلية ، فإننا نتحقق من طول arr \[i\] ، لأن arr \[i\] هو نفسه مصفوفة.
|
هذا إخراج كل عنصر فرعي في `arr` واحد في كل مرة. لاحظ أنه بالنسبة للحلقة الداخلية ، فإننا نتحقق من طول arr \[i\] ، لأن arr \[i\] هو نفسه مصفوفة.
|
||||||
|
|
||||||
@ -57,7 +58,8 @@ _تنبيه المفسد!_  {
|
```
|
||||||
|
function multiplyAll(arr) {
|
||||||
var product = 1;
|
var product = 1;
|
||||||
// Only change code below this line
|
// Only change code below this line
|
||||||
for(var i=0; i < arr.length; i++){
|
for(var i=0; i < arr.length; i++){
|
||||||
@ -71,7 +73,7 @@ _تنبيه المفسد!_ ;
|
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/)**
|
||||||
|
|
||||||
|
@ -6,13 +6,15 @@ localeTitle: تمرير القيم إلى دالات مع الوسيطات
|
|||||||
|
|
||||||
مهمتنا هي إنشاء وظيفة لديها **معلمات** . هذه هي المدخلات التي تحدد إخراج الدالة. تضع المتابعين داخل `()` ، مثل:
|
مهمتنا هي إنشاء وظيفة لديها **معلمات** . هذه هي المدخلات التي تحدد إخراج الدالة. تضع المتابعين داخل `()` ، مثل:
|
||||||
|
|
||||||
`function functionWithArgs(one, two) {
|
```javascript
|
||||||
|
function functionWithArgs(one, two) {
|
||||||
console.log(one + two);
|
console.log(one + two);
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
لدينا الآن لإضافة رمز داخل الأقواس. مهمتنا هي إضافة `one` `two` ، وطباعة المجموع إلى وحدة التحكم. هنا هو الحل الأساسي رمز:
|
لدينا الآن لإضافة رمز داخل الأقواس. مهمتنا هي إضافة `one` `two` ، وطباعة المجموع إلى وحدة التحكم. هنا هو الحل الأساسي رمز:
|
||||||
|
|
||||||
`functionWithArgs(7, 3);
|
```javascript
|
||||||
|
functionWithArgs(7, 3);
|
||||||
//This will console log 10.
|
//This will console log 10.
|
||||||
`
|
```
|
@ -6,7 +6,8 @@ localeTitle: إرجاع قيمة من دالة مع العودة
|
|||||||
|
|
||||||
باستخدام `return` ، يمكنك جعل بيانات الإخراج الوظائف. هنا هو الحل الأساسي رمز:
|
باستخدام `return` ، يمكنك جعل بيانات الإخراج الوظائف. هنا هو الحل الأساسي رمز:
|
||||||
|
|
||||||
`function timesFive(num) {
|
```javascript
|
||||||
|
function timesFive(num) {
|
||||||
return num * 5;
|
return num * 5;
|
||||||
}
|
}
|
||||||
`
|
```
|
@ -10,13 +10,14 @@ localeTitle: إرجاع القيم المنطقية من الدالات
|
|||||||
|
|
||||||
_فيكس وظيفة هو `isLess` من إزالة العبارة `if...else` ._
|
_فيكس وظيفة هو `isLess` من إزالة العبارة `if...else` ._
|
||||||
|
|
||||||
`// Fix this code
|
```js
|
||||||
|
// Fix this code
|
||||||
if (a < b) {
|
if (a < b) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
#### تلميح 1
|
#### تلميح 1
|
||||||
|
|
||||||
@ -36,13 +37,14 @@ _فيكس وظيفة هو `isLess` من إزالة العبارة `if...else` ._
|
|||||||
|
|
||||||
## حل الرمز:
|
## حل الرمز:
|
||||||
|
|
||||||
`function isLess(a, b) {
|
```javascript
|
||||||
|
function isLess(a, b) {
|
||||||
// Fix this code
|
// Fix this code
|
||||||
return a <= b;
|
return a <= b;
|
||||||
}
|
}
|
||||||
// Change these values to test
|
// Change these values to test
|
||||||
isLess(10, 15);
|
isLess(10, 15);
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
### مصادر
|
### مصادر
|
||||||
|
@ -6,8 +6,9 @@ localeTitle: تخزين قيم متعددة في متغير واحد باستخ
|
|||||||
|
|
||||||
تسمح لك المصفوفات بتخزين الكثير من البيانات المختلفة ، ضمن متغير واحد. كل ما عليك القيام به هو وضع البيانات في الصفيف ، مفصولة بفواصل. مثل ذلك…
|
تسمح لك المصفوفات بتخزين الكثير من البيانات المختلفة ، ضمن متغير واحد. كل ما عليك القيام به هو وضع البيانات في الصفيف ، مفصولة بفواصل. مثل ذلك…
|
||||||
|
|
||||||
`var arr = ["Code for change", 123];
|
```javascript
|
||||||
`
|
var arr = ["Code for change", 123];
|
||||||
|
```
|
||||||
|
|
||||||
تذكر ، يتم تعريف صفيف كصف من الأشياء. أنت تخزن بيانات مختلفة في "صف" مفرد (متغير).
|
تذكر ، يتم تعريف صفيف كصف من الأشياء. أنت تخزن بيانات مختلفة في "صف" مفرد (متغير).
|
||||||
|
|
||||||
|
@ -27,13 +27,14 @@ localeTitle: اختبار كائنات للعقارات
|
|||||||
|
|
||||||
نحن لا نغير أي شيء هنا:
|
نحن لا نغير أي شيء هنا:
|
||||||
|
|
||||||
`// Setup
|
```javascript
|
||||||
|
// Setup
|
||||||
var myObj = {
|
var myObj = {
|
||||||
gift: "pony",
|
gift: "pony",
|
||||||
pet: "kitten",
|
pet: "kitten",
|
||||||
bed: "sleigh"
|
bed: "sleigh"
|
||||||
};
|
};
|
||||||
`
|
```
|
||||||
|
|
||||||
كذلك ، في الجسم من الدالة التي نستخدمها. `.hasOwnProperty(propname)` للكائنات لتحديد ما إذا كان هذا الكائن لديه اسم خاصية معينة. `if/else` العبارة `if/else` ذات القيم المنطقية ستساعدنا في هذا:
|
كذلك ، في الجسم من الدالة التي نستخدمها. `.hasOwnProperty(propname)` للكائنات لتحديد ما إذا كان هذا الكائن لديه اسم خاصية معينة. `if/else` العبارة `if/else` ذات القيم المنطقية ستساعدنا في هذا:
|
||||||
|
|
||||||
|
@ -20,7 +20,8 @@ localeTitle: فهم القيم المنطقية
|
|||||||
|
|
||||||
##  حل الرمز الأساسي:
|
##  حل الرمز الأساسي:
|
||||||
|
|
||||||
`function welcomeToBooleans() {
|
```javascript
|
||||||
|
function welcomeToBooleans() {
|
||||||
|
|
||||||
// Only change code below this line.
|
// Only change code below this line.
|
||||||
|
|
||||||
@ -28,7 +29,7 @@ localeTitle: فهم القيم المنطقية
|
|||||||
|
|
||||||
// Only change code above this line.
|
// Only change code above this line.
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
|
||||||
|
@ -8,12 +8,14 @@ localeTitle: فهم قيمة غير محددة عاد من وظيفة
|
|||||||
|
|
||||||
المضي قدما وتحديد `addFive()` مثل ذلك ...
|
المضي قدما وتحديد `addFive()` مثل ذلك ...
|
||||||
|
|
||||||
`function addFive() {
|
```javascript
|
||||||
|
function addFive() {
|
||||||
sum += 5;
|
sum += 5;
|
||||||
}
|
}
|
||||||
`
|
```
|
||||||
|
|
||||||
كما ترى ، يتم إضافة `sum` ب 5 بدون مشاكل ، ولكن بما أنه لا يوجد بيان إرجاع ، فهناك مخرجات `undefined` .
|
كما ترى ، يتم إضافة `sum` ب 5 بدون مشاكل ، ولكن بما أنه لا يوجد بيان إرجاع ، فهناك مخرجات `undefined` .
|
||||||
|
|
||||||
`var result = addFive(); // This is undefined
|
```javascript
|
||||||
`
|
var result = addFive(); // This is undefined
|
||||||
|
```
|
@ -12,7 +12,8 @@ localeTitle: تحديث خصائص الكائن
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`// Setup
|
```javascript
|
||||||
|
// Setup
|
||||||
var myDog = {
|
var myDog = {
|
||||||
"name": "Coder",
|
"name": "Coder",
|
||||||
"legs": 4,
|
"legs": 4,
|
||||||
@ -23,4 +24,4 @@ localeTitle: تحديث خصائص الكائن
|
|||||||
// Only change code below this line.
|
// Only change code below this line.
|
||||||
|
|
||||||
myDog.name = "Happy Coder"; // Solution
|
myDog.name = "Happy Coder"; // Solution
|
||||||
`
|
```
|
@ -10,9 +10,10 @@ localeTitle: استخدم المشغل الشرطي (الثالوثي)
|
|||||||
|
|
||||||
### تحذير حل قدما!
|
### تحذير حل قدما!
|
||||||
|
|
||||||
`function checkEqual(a, b) {
|
```javascript
|
||||||
|
function checkEqual(a, b) {
|
||||||
return (a = b ? true : false );
|
return (a = b ? true : false );
|
||||||
}
|
}
|
||||||
|
|
||||||
checkEqual(1, 2);
|
checkEqual(1, 2);
|
||||||
`
|
```
|
@ -6,7 +6,8 @@ localeTitle: استخدام كائنات لعمليات البحث
|
|||||||
|
|
||||||
هنا هو المثال:
|
هنا هو المثال:
|
||||||
|
|
||||||
`// Setup
|
```javascript
|
||||||
|
// Setup
|
||||||
function phoneticLookup(val) {
|
function phoneticLookup(val) {
|
||||||
var result = "";
|
var result = "";
|
||||||
|
|
||||||
@ -37,13 +38,14 @@ localeTitle: استخدام كائنات لعمليات البحث
|
|||||||
|
|
||||||
// Change this value to test
|
// Change this value to test
|
||||||
phoneticLookup("charlie");
|
phoneticLookup("charlie");
|
||||||
`
|
```
|
||||||
|
|
||||||
وإليك الحل: نحن لا نغير أي شيء هنا:
|
وإليك الحل: نحن لا نغير أي شيء هنا:
|
||||||
|
|
||||||
`function phoneticLookup(val) {
|
```javascript
|
||||||
|
function phoneticLookup(val) {
|
||||||
var result = "";
|
var result = "";
|
||||||
`
|
```
|
||||||
|
|
||||||
نحن بحاجة إلى تحويل بيان التبديل إلى كائن. نقل كل قيم `case` إلى خصائص الكائن:
|
نحن بحاجة إلى تحويل بيان التبديل إلى كائن. نقل كل قيم `case` إلى خصائص الكائن:
|
||||||
|
|
||||||
|
@ -8,12 +8,14 @@ localeTitle: اكتب Reusable JavaScript مع الوظائف
|
|||||||
|
|
||||||
تبدأ من خلال استخدام الكلمة `function` ، ثم كتابة اسم الدالة (الذي يتبع تنسيق حالة الجمل). ثم ، اكتب `()` ، وإنشاء الأقواس `{}` . مثل ذلك:
|
تبدأ من خلال استخدام الكلمة `function` ، ثم كتابة اسم الدالة (الذي يتبع تنسيق حالة الجمل). ثم ، اكتب `()` ، وإنشاء الأقواس `{}` . مثل ذلك:
|
||||||
|
|
||||||
`function reusableFunction() {}
|
```javascript
|
||||||
`
|
function reusableFunction() {}
|
||||||
|
```
|
||||||
|
|
||||||
الآن ، أصبحت الدالة جاهزة لكتابتها. استخدم `console.log()` لطباعة رسالة في وحدة التحكم. الحل الأساسي رمز كما يلي:
|
الآن ، أصبحت الدالة جاهزة لكتابتها. استخدم `console.log()` لطباعة رسالة في وحدة التحكم. الحل الأساسي رمز كما يلي:
|
||||||
|
|
||||||
`function reusableFunction() {
|
```javascript
|
||||||
|
function reusableFunction() {
|
||||||
console.log("Hi World");
|
console.log("Hi World");
|
||||||
}
|
}
|
||||||
`
|
```
|
@ -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
|
||||||
|
function raiseToPower(b, e) {
|
||||||
return Math.pow(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);
|
||||||
|
```
|
@ -9,7 +9,8 @@ localeTitle: قبض على الاستخدام المختلط من أسعار م
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`//Solution1:
|
```javascript
|
||||||
|
//Solution1:
|
||||||
let innerHtml = "<p>Click here to <a href=\"#Home\">return home</a></p>";
|
let innerHtml = "<p>Click here to <a href=\"#Home\">return home</a></p>";
|
||||||
console.log(innerHtml);
|
console.log(innerHtml);
|
||||||
`
|
```
|
@ -8,12 +8,13 @@ localeTitle: القبض عن طريق واحدة من الأخطاء عند اس
|
|||||||
|
|
||||||
بسبب الطريقة التي تعمل بها فهارس جافا سكريبت `firstFive` لديها **خمسة عناصر** لكنها مفهرسة من **0 إلى 4** !
|
بسبب الطريقة التي تعمل بها فهارس جافا سكريبت `firstFive` لديها **خمسة عناصر** لكنها مفهرسة من **0 إلى 4** !
|
||||||
|
|
||||||
`console.log(len); // 5
|
```javascript
|
||||||
|
console.log(len); // 5
|
||||||
console.log(firstFive[0]); // 1
|
console.log(firstFive[0]); // 1
|
||||||
/**/
|
/**/
|
||||||
console.log(firstFive[4]); // 5
|
console.log(firstFive[4]); // 5
|
||||||
console.log(firstFive[5]); // undefined
|
console.log(firstFive[5]); // undefined
|
||||||
`
|
```
|
||||||
|
|
||||||
يجب أن يعطيك ما يكفي لإدراك حدود `firstFive` . توجيه انتباهك إلى الحلقة. ماذا تعمل، أو ماذا تفعل؟ يمكنك محاولة تصحيح الأخطاء لمعرفة ذلك!
|
يجب أن يعطيك ما يكفي لإدراك حدود `firstFive` . توجيه انتباهك إلى الحلقة. ماذا تعمل، أو ماذا تفعل؟ يمكنك محاولة تصحيح الأخطاء لمعرفة ذلك!
|
||||||
|
|
||||||
|
@ -6,13 +6,15 @@ localeTitle: قبض على الأقواس غير المغلقة ، بين قوس
|
|||||||
|
|
||||||
تقلل طريقة تقليل () صفيفًا إلى قيمة واحدة. إذا لم تكن على دراية بها ، يعرض التعليمة البرمجية التالية مثالاً على استخدام الطريقة:
|
تقلل طريقة تقليل () صفيفًا إلى قيمة واحدة. إذا لم تكن على دراية بها ، يعرض التعليمة البرمجية التالية مثالاً على استخدام الطريقة:
|
||||||
|
|
||||||
`const array1 = [1, 2, 3, 4];
|
```
|
||||||
|
const array1 = [1, 2, 3, 4];
|
||||||
console.log(array1.reduce((accumulator, currentValue) => accumulator + currentValue)); // expected output: 10
|
console.log(array1.reduce((accumulator, currentValue) => accumulator + currentValue)); // expected output: 10
|
||||||
`
|
```
|
||||||
|
|
||||||
يمكنك أيضًا تعريف الوسيطة إلى طريقة الاختزال كمتغير أو ثابت وتسليمها إلى الوظيفة ، على سبيل المثال ،
|
يمكنك أيضًا تعريف الوسيطة إلى طريقة الاختزال كمتغير أو ثابت وتسليمها إلى الوظيفة ، على سبيل المثال ،
|
||||||
|
|
||||||
`const array1 = [1, 2, 3, 4];
|
```
|
||||||
|
const array1 = [1, 2, 3, 4];
|
||||||
const reducer = (accumulator, currentValue) => accumulator + currentValue;
|
const reducer = (accumulator, currentValue) => accumulator + currentValue;
|
||||||
|
|
||||||
// 1 + 2 + 3 + 4
|
// 1 + 2 + 3 + 4
|
||||||
@ -20,7 +22,7 @@ localeTitle: قبض على الأقواس غير المغلقة ، بين قوس
|
|||||||
|
|
||||||
// 5 + 1 + 2 + 3 + 4
|
// 5 + 1 + 2 + 3 + 4
|
||||||
console.log(array1.reduce(reducer, 5)); // expected output: 15
|
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) .
|
||||||
|
|
||||||
|
@ -9,7 +9,8 @@ localeTitle: قبض على استخدام مشغل التعيين بدلا من
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`let x = 7;
|
```javascript
|
||||||
|
let x = 7;
|
||||||
let y = 9;
|
let y = 9;
|
||||||
let result = "to come";
|
let result = "to come";
|
||||||
|
|
||||||
@ -20,4 +21,4 @@ localeTitle: قبض على استخدام مشغل التعيين بدلا من
|
|||||||
}
|
}
|
||||||
|
|
||||||
console.log(result);
|
console.log(result);
|
||||||
`
|
```
|
@ -8,21 +8,23 @@ localeTitle: منع حلقات لا نهائية مع شرط محطة صالح
|
|||||||
* لذا يحدث الخطأ في هذا التحدي بسبب الشرط - `i != 4` - في حلقة for.
|
* لذا يحدث الخطأ في هذا التحدي بسبب الشرط - `i != 4` - في حلقة for.
|
||||||
* إذا ألقيت نظرة عن كثب على الرمز:
|
* إذا ألقيت نظرة عن كثب على الرمز:
|
||||||
|
|
||||||
`function myFunc() {
|
```javascript
|
||||||
|
function myFunc() {
|
||||||
for (let i = 1; i != 4; i += 2) {
|
for (let i = 1; i != 4; i += 2) {
|
||||||
console.log("Still going!");
|
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
|
||||||
|
function myFunc() {
|
||||||
for (let i = 1; i <= 4; i += 2) {
|
for (let i = 1; i <= 4; i += 2) {
|
||||||
console.log("Still going!");
|
console.log("Still going!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
```
|
@ -7,28 +7,31 @@ 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
|
||||||
|
function zeroArray(m, n) {
|
||||||
let newArray = [];
|
let newArray = [];
|
||||||
for (let i = 0; i < m; i++) {
|
for (let i = 0; i < m; i++) {
|
||||||
let row = []; /* <----- row has been declared inside the outer loop.
|
let row = []; /* <----- row has been declared inside the outer loop.
|
||||||
@ -44,4 +47,4 @@ localeTitle: استخدام الحذر عند Reinitializing متغيرات دا
|
|||||||
}
|
}
|
||||||
let matrix = zeroArray(3, 2);
|
let matrix = zeroArray(3, 2);
|
||||||
console.log(matrix);
|
console.log(matrix);
|
||||||
`
|
```
|
@ -8,6 +8,7 @@ localeTitle: استخدم typeof للتحقق من نوع المتغير
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`console.log(typeof seven);
|
```javascript
|
||||||
|
console.log(typeof seven);
|
||||||
console.log(typeof three);
|
console.log(typeof three);
|
||||||
`
|
```
|
@ -14,6 +14,7 @@ localeTitle: قم بإنشاء "تصدير تراجعي" باستخدام الإ
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`"use strict";
|
```javascript
|
||||||
|
"use strict";
|
||||||
export default function subtract(x,y) {return x - y;}
|
export default function subtract(x,y) {return x - y;}
|
||||||
`
|
```
|
@ -14,7 +14,8 @@ localeTitle: استيراد تصدير افتراضي
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`"use strict";
|
```javascript
|
||||||
|
"use strict";
|
||||||
import subtract from "math_functions";
|
import subtract from "math_functions";
|
||||||
subtract(7,4);
|
subtract(7,4);
|
||||||
`
|
```
|
@ -8,7 +8,8 @@ localeTitle: تعيين المعلمات الافتراضية لوظائفك
|
|||||||
|
|
||||||
### : checkered\_flag: مشكلة التفسير:
|
### : checkered\_flag: مشكلة التفسير:
|
||||||
|
|
||||||
`const increment = (function() {
|
```javascript
|
||||||
|
const increment = (function() {
|
||||||
"use strict";
|
"use strict";
|
||||||
return function increment(number, value) {
|
return function increment(number, value) {
|
||||||
return number + value;
|
return number + value;
|
||||||
@ -16,7 +17,7 @@ localeTitle: تعيين المعلمات الافتراضية لوظائفك
|
|||||||
})();
|
})();
|
||||||
console.log(increment(5, 2)); // returns 7
|
console.log(increment(5, 2)); // returns 7
|
||||||
console.log(increment(5)); // returns NaN
|
console.log(increment(5)); // returns NaN
|
||||||
`
|
```
|
||||||
|
|
||||||
سنقوم بتعديل دالة الزيادة بحيث يتم زيادة معلمة **الرقم** بمقدار 1 بشكل افتراضي ، عن طريق تعيين **القيمة** إلى 1 إذا لم يتم تمرير **قيمة للقيمة** إلى دالة الزيادة.
|
سنقوم بتعديل دالة الزيادة بحيث يتم زيادة معلمة **الرقم** بمقدار 1 بشكل افتراضي ، عن طريق تعيين **القيمة** إلى 1 إذا لم يتم تمرير **قيمة للقيمة** إلى دالة الزيادة.
|
||||||
|
|
||||||
@ -40,7 +41,8 @@ localeTitle: تعيين المعلمات الافتراضية لوظائفك
|
|||||||
|
|
||||||
## : مبتدئ: حل الرمز الأساسي:
|
## : مبتدئ: حل الرمز الأساسي:
|
||||||
|
|
||||||
`const increment = (function() {
|
```javascript
|
||||||
|
const increment = (function() {
|
||||||
"use strict";
|
"use strict";
|
||||||
return function increment(number, value = 1) {
|
return function increment(number, value = 1) {
|
||||||
return number + value;
|
return number + value;
|
||||||
@ -48,7 +50,7 @@ localeTitle: تعيين المعلمات الافتراضية لوظائفك
|
|||||||
})();
|
})();
|
||||||
console.log(increment(5, 2)); // returns 7
|
console.log(increment(5, 2)); // returns 7
|
||||||
console.log(increment(5)); // returns NaN
|
console.log(increment(5)); // returns NaN
|
||||||
`
|
```
|
||||||
|
|
||||||
|
|
||||||
## شرح الشفرة
|
## شرح الشفرة
|
||||||
|
@ -16,7 +16,8 @@ localeTitle: فهم الاختلافات بين الاستيراد وتتطلب
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`"use strict";
|
```javascript
|
||||||
|
"use strict";
|
||||||
import { capitalizeString } from "string-functions";
|
import { capitalizeString } from "string-functions";
|
||||||
capitalizeString("hello!");
|
capitalizeString("hello!");
|
||||||
`
|
```
|
@ -14,6 +14,7 @@ localeTitle: استخدم * لاستيراد كل شيء من ملف
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`"use strict";
|
```javascript
|
||||||
|
"use strict";
|
||||||
import * as str from "capitalize_strings";
|
import * as str from "capitalize_strings";
|
||||||
`
|
```
|
Reference in New Issue
Block a user