所以我一直要求更改我的代码以简化我的功能,但现在我已经简化了它们,它们现在只返回 NaN 并且我真的不明白为什么会这样,当输入是数字时?
// the purpose of this script is to execute different functions on an array of 3 integers//
const input = [6, 25, 11];
const findSum = input.reduce((acc, num) => acc + num, 0);
console.log(findSum);
// each function has been assigned parameters to execute //
const subsFrom = (num1, num2, num3) => num1 - num2 - num3;
const subNum = subsFrom(input);
console.log(subNum);
// then call the function and display the answer //
const multiBy = (num1, num2, num3) => num1 * num2 * num3;
const multiNum = multiBy(input)
console.log(multiNum);
const divBy = (findSum, num1, num2, num3) => findSum / num1 / num2 / num3;
const divNum = divBy(findSum, input);
console.log(divNum);
将数组解构为参数时,需要在参数列表中添加方括号。
const subsFrom = ([num1, num2, num3])
const multiBy = ([num1, num2, num3])
const divBy = (findSum, [num1, num2, num3])
因为输入是一个被传递到函数调用中的数组。
// the purpose of this script is to execute different functions on an array of 3 integers//
const input = [6, 25, 11];
const findSum = input.reduce((acc, num) => acc + num, 0);
console.log(findSum);
// each function has been assigned parameters to execute //
const subsFrom = ([num1, num2, num3]) => num1 - num2 - num3;
const subNum = subsFrom(input);
console.log(subNum);
// then call the function and display the answer //
const multiBy = ([num1, num2, num3]) => num1 * num2 * num3;
const multiNum = multiBy(input)
console.log(multiNum);
const divBy = (findSum, [num1, num2, num3]) => findSum / num1 / num2 / num3;
const divNum = divBy(findSum, input);
console.log(divNum);
或者,您可以传播:
// the purpose of this script is to execute different functions on an array of 3 integers//
const input = [6, 25, 11];
const findSum = input.reduce((acc, num) => acc + num, 0);
console.log(findSum);
// each function has been assigned parameters to execute //
const subsFrom = (num1, num2, num3) => num1 - num2 - num3;
const subNum = subsFrom(...input);
console.log(subNum);
// then call the function and display the answer //
const multiBy = (num1, num2, num3) => num1 * num2 * num3;
const multiNum = multiBy(...input)
console.log(multiNum);
const divBy = (findSum, num1, num2, num3) => findSum / num1 / num2 / num3;
const divNum = divBy(findSum, ...input);
console.log(divNum);