Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md
2023-06-20 20:24:05 +09:00

2.9 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b87367417b2b2512b42 تغير القائمة (array) المعلنة عند استخدام const 1 301206 mutate-an-array-declared-with-const

--description--

إذا كنت غير مألوفة مع const، تحقق من هذا التحدي حول مصطلح const.

يحتوي إعلان const على العديد من حالات الاستخدام في JavaScript الحديثة.

بعض المطورين يفضلون تعيين جميع متغيراتهم باستخدام const بشكل افتراضي، ما لم يعلموا أنهم سيحتاجون إلى إعادة تعيين القيمة. فقط في تلك الحالة، يستخدمون let.

ومع ذلك، من المهم أن نفهم أن الـ objects (بما في ذلك arrays و functions) المخصصة للمتغير باستخدام const لا تزال قابلة للتغيير. استخدام إعلان const يمنع فقط إعادة تخصص هوية للمتغير.

const s = [5, 6, 7];
s = [1, 2, 3];
s[2] = 45;
console.log(s);

s = [1, 2, 3] سيؤدي إلى خطأ. بعد التعليق على هذا السطر، سيعرض console.log القيمة [5, 6, 45].

كما ترون، يمكنك تغيير الكائن [5, 6, 7] نفسه والمتغير s سيظل يشير إلى الـ array المعدلة [5, 6, 45]. مثل جميع الـ arrays، عناصر الـ array في s قابلة للتغيير، ولكن لأن const تم استخدامها، لا يمكنك استخدام معرف المتغير s للإشارة إلى array مختلفة باستخدام مشغل التعيين (assignment operator).

--instructions--

تعلن القائمة (array) كالآتي const s = [5, 7, 2]. قم بتغيير الـ array إلى [2, 5, 7] باستخدام تعيينات العناصر المتنوعة.

--hints--

لا ينبغي أن تستبدل كلمة const.

assert(code.match(/const/g));

s يجب أن يكون متغير ثابت (باستخدام const).

assert(code.match(/const\s+s/g));

لا يجب عليك تغيير إعلان القائمة (array) الأصلي.

assert(code.match(
/const\s+s\s*=\s*\[\s*5\s*,\s*7\s*,\s*2\s*\]\s*;?/g
));

s يجب أن يساوي [2, 5, 7].

assert.deepEqual(s, [2, 5, 7]);

--seed--

--seed-contents--

const s = [5, 7, 2];
function editInPlace() {
  // Only change code below this line

  // Using s = [2, 5, 7] would be invalid

  // Only change code above this line
}
editInPlace();

--solutions--

const s = [5, 7, 2];
function editInPlace() {
  s[0] = 2;
  s[1] = 5;
  s[2] = 7;
}
editInPlace();