fix: converted single to triple backticks3 (#36230)
This commit is contained in:
@ -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));
|
||||||
|
```
|
@ -8,5 +8,6 @@ localeTitle: الوصول إلى محتويات صفيف باستخدام تدر
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`myArray[1] = "anything we want";
|
```javascript
|
||||||
`
|
myArray[1] = "anything we want";
|
||||||
|
```
|
@ -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"));
|
||||||
|
```
|
@ -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']));
|
||||||
|
```
|
@ -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']));
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -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'));
|
||||||
|
```
|
@ -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;
|
||||||
`
|
}
|
||||||
|
```
|
@ -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());
|
||||||
|
```
|
@ -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']));
|
||||||
|
```
|
@ -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
|
||||||
`
|
];
|
||||||
|
```
|
@ -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));
|
||||||
|
```
|
@ -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,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);
|
||||||
|
```
|
@ -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']));
|
||||||
|
```
|
@ -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]));
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -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.
|
@ -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,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'
|
||||||
|
```
|
||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
|
@ -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` بالطريقة الصحيحة للوصول إلى الخاصية. انظر فكرة أعلاه إذا واجهتك مشكلة.
|
@ -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
|
||||||
|
```
|
@ -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
|
||||||
|
```
|
@ -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
|
||||||
|
```
|
@ -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";
|
||||||
|
```
|
@ -8,5 +8,6 @@ localeTitle: التنازل مع القيمة المرتجعة
|
|||||||
|
|
||||||
هنا هو الحل الأساسي رمز:
|
هنا هو الحل الأساسي رمز:
|
||||||
|
|
||||||
`processed = processArg(7); // Equal to 2
|
```javascript
|
||||||
`
|
processed = processArg(7); // Equal to 2
|
||||||
|
```
|
@ -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
|
||||||
`
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -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);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -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);
|
||||||
|
```
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
```
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -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 (ضمناً).
|
@ -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)
|
||||||
`
|
}
|
||||||
|
```
|
@ -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
|
||||||
`
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
@ -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;
|
||||||
|
```
|
@ -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.';
|
||||||
|
```
|
@ -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
|
||||||
}
|
}
|
||||||
`
|
}
|
||||||
|
```
|
||||||
|
|
||||||
حسنًا ، إليك حل الشفرة الأساسية.
|
حسنًا ، إليك حل الشفرة الأساسية.
|
||||||
|
|
||||||
|
@ -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` داخل الدالة ، وهذا هو "الأقرب" ، وبالتالي فإن الدالة ستعود "سترة".
|
@ -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` ). بهذه الطريقة ، إذا احتجت في أي وقت إلى تغيير نتيجة معينة فلن تحتاج إلى البحث عنها داخل الوظيفة ، فستكون في البداية ، في الصفيف الخاص بك.
|
||||||
|
@ -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` حلقة. تحتاج إلى نسخ حلقة من الجزء العلوي:
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
```
|
@ -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++;
|
||||||
`
|
}
|
||||||
|
```
|
@ -8,11 +8,12 @@ localeTitle: النطاق المحلي والوظائف
|
|||||||
|
|
||||||
فيما يلي الحل الأساسي للتعليمات البرمجية لإنشاء متغير `myVar` محلي.
|
فيما يلي الحل الأساسي للتعليمات البرمجية لإنشاء متغير `myVar` محلي.
|
||||||
|
|
||||||
`function myLocalScope() {
|
```javascript
|
||||||
var myVar;
|
function myLocalScope() {
|
||||||
console.log(myVar);
|
var 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
|
||||||
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]
|
||||||
|
```
|
@ -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
|
||||||
|
```
|
@ -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
|
||||||
|
```
|
@ -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 }`
|
||||||
|
|
||||||
|
@ -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 ستنتج نفس النتيجة._
|
||||||
|
|
||||||
|
@ -6,7 +6,8 @@ localeTitle: عش صف واحد داخل صفيف آخر
|
|||||||
|
|
||||||
المصفوفات هي أحادية البعد؛ هذا يعني أنه يتم تخزين صف واحد فقط من البيانات. ولكن يمكنك إنشاء صفيف متعدد الأبعاد عن طريق وضع المصفوفات داخل المصفوفات! مثل ذلك:
|
المصفوفات هي أحادية البعد؛ هذا يعني أنه يتم تخزين صف واحد فقط من البيانات. ولكن يمكنك إنشاء صفيف متعدد الأبعاد عن طريق وضع المصفوفات داخل المصفوفات! مثل ذلك:
|
||||||
|
|
||||||
`var arr = [["Two-dimensional", 2], ["Two rows", 12]];
|
```javascript
|
||||||
`
|
var arr = [["Two-dimensional", 2], ["Two rows", 12]];
|
||||||
|
```
|
||||||
|
|
||||||
الصفيف أعلاه له بعدان.
|
الصفيف أعلاه له بعدان.
|
@ -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 @@ _تنبيه المفسد!_  {
|
```
|
||||||
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/)**
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
```
|
@ -6,7 +6,8 @@ localeTitle: إرجاع قيمة من دالة مع العودة
|
|||||||
|
|
||||||
باستخدام `return` ، يمكنك جعل بيانات الإخراج الوظائف. هنا هو الحل الأساسي رمز:
|
باستخدام `return` ، يمكنك جعل بيانات الإخراج الوظائف. هنا هو الحل الأساسي رمز:
|
||||||
|
|
||||||
`function timesFive(num) {
|
```javascript
|
||||||
return num * 5;
|
function timesFive(num) {
|
||||||
}
|
return num * 5;
|
||||||
`
|
}
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### مصادر
|
### مصادر
|
||||||
|
@ -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
|
||||||
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` ذات القيم المنطقية ستساعدنا في هذا:
|
||||||
|
|
||||||
|
@ -20,15 +20,16 @@ localeTitle: فهم القيم المنطقية
|
|||||||
|
|
||||||
##  حل الرمز الأساسي:
|
##  حل الرمز الأساسي:
|
||||||
|
|
||||||
`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.
|
||||||
`
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### تفسير الشفرة
|
### تفسير الشفرة
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
```
|
@ -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
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -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` إلى خصائص الكائن:
|
||||||
|
|
||||||
|
@ -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");
|
||||||
`
|
}
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -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` . توجيه انتباهك إلى الحلقة. ماذا تعمل، أو ماذا تفعل؟ يمكنك محاولة تصحيح الأخطاء لمعرفة ذلك!
|
||||||
|
|
||||||
|
@ -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) .
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
```
|
@ -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!");
|
||||||
}
|
}
|
||||||
`
|
}
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -8,6 +8,7 @@ localeTitle: استخدم typeof للتحقق من نوع المتغير
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`console.log(typeof seven);
|
```javascript
|
||||||
console.log(typeof three);
|
console.log(typeof seven);
|
||||||
`
|
console.log(typeof three);
|
||||||
|
```
|
@ -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;}
|
||||||
|
```
|
@ -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);
|
||||||
|
```
|
@ -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
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## شرح الشفرة
|
## شرح الشفرة
|
||||||
|
@ -16,7 +16,8 @@ localeTitle: فهم الاختلافات بين الاستيراد وتتطلب
|
|||||||
|
|
||||||
## حل
|
## حل
|
||||||
|
|
||||||
`"use strict";
|
```javascript
|
||||||
import { capitalizeString } from "string-functions";
|
"use strict";
|
||||||
capitalizeString("hello!");
|
import { capitalizeString } from "string-functions";
|
||||||
`
|
capitalizeString("hello!");
|
||||||
|
```
|
@ -14,6 +14,7 @@ localeTitle: استخدم * لاستيراد كل شيء من ملف
|
|||||||
|
|
||||||
## حل:
|
## حل:
|
||||||
|
|
||||||
`"use strict";
|
```javascript
|
||||||
import * as str from "capitalize_strings";
|
"use strict";
|
||||||
`
|
import * as str from "capitalize_strings";
|
||||||
|
```
|
Reference in New Issue
Block a user