所以我有这个挑战。我通过创建一个sum()
来将两个数字相加来解决第一个问题。第二个问题是创建一个multiply()
来解这两个数。
然而,他们现在要求我使用相同的函数来解决第三个函数sumAndMultiply()
,但它必须为3个数字做,不像sum()
和multiply()
,它只接受两个数字。所以我迷路了。还有一个JavaScript文件用来测试函数是否正确。
3问题
编写一个名为summandmultiply()的函数,该函数接受三个数字作为单独的参数,并返回一个数组,其中第一个元素是这三个数字的和,第二个元素是这三个数字的乘积,第三和第四个元素是完全遵循本示例并使用输入到函数中的值的字符串:
第三个元素:"4 + 7 + 5 = 16 ">
第四个元素:"4 + 7 + 5 = 140 ">重要细节:在这个函数中不能使用算术运算符+和*。要做加法,请使用sum()函数,要做乘法,请使用已经创建的multiply()函数。你必须足智多谋才能想出如何做到这一点。但是,您可以继续使用+操作符进行字符串连接。
在控制台中手动测试此函数以使其工作,当您认为它已经完成时,取消对testsummandmultiply()函数的调用的注释,并查看测试是否通过。
一旦测试通过,执行a-c-p循环,并在GitHub和笔记本电脑之间同步代码。不要忘记在下一个问题上为你的工作创建一个新的分支!
function sum(a, b) {
let sum = a + b;
let print = [sum, "The sum of 4 and 7 is 11."]
return print;
}
function multiply(a, b) { //eslint-disable-line
let multiply = a * b;
let printM = [multiply, "The product of 5 and 9 is 45."]
return printM;
}
// Write your code here
function sumAndMultiply(a, b, c) { //eslint-disable-line
}
// Here is the test for sumAndMultiply(); uncomment it to run it
console.log(
sumAndMultiply(4, 7, 5)
);
现在,我如何求解函数sumAndMultiply(a, b, c)
?
目标是重用sum
和multiply
方法来创建新的方法并返回一个数组,因此首先要获得您使用的
var sum = sum(sum(a, b)[0], c)[0];
首先通过sum(a, b)
添加a
和b
。返回一个数组[sum, message]
。
您通过获取该数组索引[0]
处的元素来获得总和,并再次将其发送给具有c
即sum(sum(a, b)[0], c)
的sum函数。这将返回最终数组,其中包含a, b and c
和消息的和。
对乘法函数的处理与
相同var product = multiply(multiply(a, b)[0], c)[0];