Files
freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters.md
camperbot b3af21d50f chore(i18n,curriculum): update translations (#42487)
* chore(i18n,curriculum): update translations

* chore: Italian to italian

Co-authored-by: Nicholas Carrigan <nhcarrigan@gmail.com>
2021-06-14 11:34:20 -07:00

2.0 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7b88367417b2b2512b47 Usare il parametro resto con gli argomenti delle funzioni 1 301221 use-the-rest-parameter-with-function-parameters

--description--

Per aiutarci a creare funzioni più flessibili, ES6 introduce il parametro resto per i parametri di funzioni. Con il parametro resto, è possibile creare funzioni che richiedono un numero variabile di argomenti. Questi argomenti sono memorizzati in un array a cui è possibile accedere successivamente dall'interno della funzione.

Dai un'occhiata a questo codice:

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 console mostrerà le stringhe You have passed 3 arguments. e You have passed 4 arguments..

Il parametro resto elimina la necessità di controllare l'array args e ci permette di applicare map(), filter() e reduce() all'array dei parametri.

--instructions--

Modifica la funzione sum utilizzando il parametro resto in modo che la funzione sum sia in grado di prendere qualsiasi numero di argomenti e restituisca la loro somma.

--hints--

Il risultato di sum(0,1,2) dovrebbe essere 3

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

Il risultato di sum(1,2,3,4) dovrebbe essere 10

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

Il risultato di sum(5) dovrebbe essere 5

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

Il risultato di sum() dovrebbe essere 0

assert(sum() === 0);

sum dovrebbe essere una funzione freccia che utilizza la sintassi del parametro resto (...) sul parametro 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);
}