function howMany(...args) {El operador restante elimina la necesidad de verificar la matriz de
return "You have passed " + args.length + " arguments.";
}
console.log(howMany(0, 1, 2)); // You have passed 3 arguments
console.log(howMany("string", null, [1, 2, 3], { })); // You have passed 4 arguments.
args
y nos permite aplicar map()
, filter()
y reduce()
en la matriz de parámetros.
sum
la función para que use el operador de descanso y funcione de la misma manera con cualquier número de parámetros.
sum(0,1,2)
debe ser 3'
testString: 'assert(sum(0,1,2) === 3, "The result of sum(0,1,2)
should be 3");'
- text: 'El resultado de la sum(1,2,3,4)
debe ser 10'
testString: 'assert(sum(1,2,3,4) === 10, "The result of sum(1,2,3,4)
should be 10");'
- text: El resultado de la sum(5)
debe ser 5.
testString: 'assert(sum(5) === 5, "The result of sum(5)
should be 5");'
- text: El resultado de sum()
debe ser 0
testString: 'assert(sum() === 0, "The result of sum()
should be 0");'
- text: La función de sum
usa el operador de ...
propagación en el parámetro args
.
testString: 'getUserInput => assert(getUserInput("index").match(/function\s+sum\s*\(\s*...args\s*\)\s*{/g), "The sum
function uses the ...
spread operator on the args
parameter.");'
```