Files
freeCodeCamp/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters.md
2023-03-22 19:44:27 +02:00

2.7 KiB
Raw Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b88367417b2b2512b47 Використання залишкового параметра із параметрами функції 1 301221 use-the-rest-parameter-with-function-parameters

--description--

ES6 пропонує залишковий параметр для параметрів функції, щоб допомогти у створенні гнучкіших функцій. За допомогою залишкового параметра можна створити функції зі змінною кількістю аргументів. Ці аргументи зберігаються в масиві, до якого пізніше можна отримати доступ всередині функції.

Погляньте на цей код:

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..

Залишковий параметр усуває потребу використовувати об’єкт arguments та дозволяє нам використовувати методи масиву на масиві параметрів, переданих до функції howMany.

--instructions--

Змініть функцію sum, використавши залишковий параметр, щоб функція sum могла прийняти будь-яку кількість аргументів і повернути їхню суму.

--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 повинна бути стрілковою функцією, яка використовує синтаксис залишкового параметра (...) на параметрі args.

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

--seed--

--seed-contents--

const sum = (x, y, z) => {
  const args = [x, y, z];
  let total = 0;
  for (let i = 0; i < args.length; i++) {
    total += args[i];
  }
  return total;
}

--solutions--

const sum = (...args) => {
  let total = 0;
  for (let i = 0; i < args.length; i++) {
    total += args[i];
  }
  return total;
}