freeCodeCamp/curriculum/challenges/espanol/02-javascript-algorithms-an.../es6/use-the-rest-parameter-with...

1.9 KiB

id title challengeType forumTopicId dashedName
587d7b88367417b2b2512b47 Utiliza el parámetro rest con parámetros de función 1 301221 use-the-rest-parameter-with-function-parameters

--description--

Para ayudarnos a crear funciones más flexibles, ES6 introduce el parámetro rest para los parámetros de función. Con el parámetro rest, puedes crear funciones que tomen un número variable de argumentos. Estos argumentos se almacenan en un arreglo al que se puede acceder más tarde desde dentro de la función.

Echa un vistazo a este código:

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

La consola mostrará las cadenas You have passed 3 arguments. y You have passed 4 arguments..

El parámetro rest elimina la necesidad de comprobar el arreglo args y nos permite aplicar map(), filter() y reduce() en el arreglo de parámetros.

--instructions--

Modifica la función sum usando el parámetro rest de tal manera que la función sum sea capaz de recibir cualquier número de argumentos y devolver su suma.

--hints--

El resultado de sum(0,1,2) debe ser 3

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

El resultado de sum(1,2,3,4) debe ser 10

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

El resultado de sum(5) debe ser 5

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

El resultado de sum() debe ser 0

assert(sum() === 0);

sum debe ser una función flecha que utilice la sintaxis de parámetro rest (...) en el parámetro 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);
}