Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters.md
2022-10-20 09:13:17 -07:00

2.1 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b88367417b2b2512b47 Use the Rest Parameter with Function Parameters 1 301221 use-the-rest-parameter-with-function-parameters

--description--

من أجل مساعدتنا في إنشاء functions أكثر مرونة، يوفر ES6 الـ rest parameters للـ function parameters. مع rest parameter، يمكنك إنشاء functions تأخذ عددا متغيرا من الـ arguments. يتم تخزين هذه الـ arguments في array يمكن الوصول إليها في وقت لاحق من داخل الـ function.

تحقق من هذا الكود:

function howMany(...args) {
  return "You have passed " + args.length + " arguments.";
}
console.log(howMany(0, 1, 2));
console.log(howMany("string", null, [1, 2, 3], { }));

ستعرض وحدة التحكم السلاسل You have passed 3 arguments. و You have passed 4 arguments..

الـ rest parameter تزيل الحاجة إلى التحقق من array الـ args وتسمح لنا بتطبيق map() و filter() و reduce() على array المعلمات (parameters).

--instructions--

قم بتعديل الدالة sum باستخدام rest parameter بطريقة تجعل الدالة sum قادرة على أخذ أي عدد من الـ arguments وإرجاع مجموعها.

--hints--

نتيجة sum(0,1,2) يجب أن تكون 3

assert(sum(0, 1, 2) === 3);

نتيجة sum(1,2,3,4) يجب ان تكون 10

assert(sum(1, 2, 3, 4) === 10);

نتيجة sum(5) يجب أن تكون 5

assert(sum(5) === 5);

نتيجة sum() يجب أن تكون 0

assert(sum() === 0);

sum يجب أن يكون arrow function يستخدم rest parameter syntax الآتي (...) على معلمة args.

assert(__helpers.removeWhiteSpace(code).match(/sum=\(\.\.\.args\)=>/));

--seed--

--seed-contents--

const sum = (x, y, z) => {
  const args = [x, y, z];
  return args.reduce((a, b) => a + b, 0);
}

--solutions--

const sum = (...args) => {
  return args.reduce((a, b) => a + b, 0);
}