Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice.md
2022-10-20 09:13:17 -07:00

66 lines
2.2 KiB
Markdown

---
id: 587d7b7a367417b2b2512b12
title: نسخ عناصر القائمة باستخدام slice()
challengeType: 1
forumTopicId: 301158
dashedName: copy-array-items-using-slice
---
# --description--
الوظيفة التالية التي سنغطيها هي `slice()`. بدلا من تعديل القائمة، `slice()` تنسخ أو *تستخرج* عدد معين من العناصر إلى قائمة جديدة، دون تغيير للقائمة التي استدعت عليها الوظيفة. تأخذ `slice()` معلمتين فقط - الأولى هي ترتيب الذي يبدأ عنده الاستخراج، والثانية هي الترتيب الذي يتم عنده إيقاف الاستخراج (سيحدث الاستخراج حتى الترتيب، ولكن لا يشمل العنصر في هذا الترتيب). ضع في اعتبارك هذا المثال:
```js
let weatherConditions = ['rain', 'snow', 'sleet', 'hail', 'clear'];
let todaysWeather = weatherConditions.slice(1, 3);
```
`todaysWeather` ستكون له القيمة `['snow', 'sleet']`، بينما `weatherConditions` ستظل تحتوي على `['rain', 'snow', 'sleet', 'hail', 'clear']`.
وفي الواقع، أنشأنا قائمة جديدة بواسطة استخراج عناصر من قائمة موجودة.
# --instructions--
لقد حددنا الوظيفة `forecast`، التي تأخذ قائمة كحجة (argument). عدل الوظيفة باستخدام `slice()` لاستخراج المعلومات من قائمة الوسيط وأنتج قائمة جديدة تحتوي على عناصر المقاطع النصية `warm` و `sunny`.
# --hints--
`forecast` يجب أن ينتج `["warm", "sunny"]`
```js
assert.deepEqual(
forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']),
['warm', 'sunny']
);
```
يجب أن تستخدم وظيفة `forecast` الطريقة `slice()`
```js
assert(/\.slice\(/.test(code));
```
# --seed--
## --seed-contents--
```js
function forecast(arr) {
// Only change code below this line
return arr;
}
// Only change code above this line
console.log(forecast(['cold', 'rainy', 'warm', 'sunny', 'cool', 'thunderstorms']));
```
# --solutions--
```js
function forecast(arr) {
return arr.slice(2,4);
}
```