在javascript中,如何从带有空参数的函数返回零?

在javascript中,如何从带有空参数的函数返回零?,javascript,arrays,function,Javascript,Arrays,Function,编写一个函数,multiply,它接受任意数量的参数并将它们全部相乘。 如果只有一个数字,它将返回该数字。 如果没有传入任何数字,它将返回0 例如: multiply()返回0 乘法(1)返回1 乘(1,2)返回2 乘(1,2,3)返回6 乘(1,2,3,4)返回24 函数乘法(…a){ 如果(!a){ 返回0; }else if(a==数字){ 返回a; }否则{ 返回a.reduce((当前,先前)=>{return previous*current}); } } 乘(1,2,3); 在这种

编写一个函数,multiply,它接受任意数量的参数并将它们全部相乘。 如果只有一个数字,它将返回该数字。
如果没有传入任何数字,它将返回0

例如:

multiply()
返回0

乘法(1)
返回1

乘(1,2)
返回2

乘(1,2,3)
返回6

乘(1,2,3,4)
返回24

函数乘法(…a){
如果(!a){
返回0;
}else if(a==数字){
返回a;
}否则{
返回a.reduce((当前,先前)=>{return previous*current});
}
}
乘(1,2,3);
在这种情况下,您将始终拥有一个数组,因此您只需使用:
if(!a.length){
而不是
if(!a){

此外,在这种情况下,回调中不需要
返回
。您可以在以下位置进行更改:

(current, previous) => previous*current
在这种情况下,您将始终拥有一个数组,因此您只需使用:
if(!a.length){
而不是
if(!a){

此外,在这种情况下,回调中不需要
返回
。您可以在以下位置进行更改:

(current, previous) => previous*current

我还没有使用扩展运算符,所以不打算将此作为答案发布…但是如果调用
multiply()
,那么
a
我希望
未定义,因此您应该能够简单地检查
如果(a==未定义)返回0;
如果未传递任何参数,我希望乘法函数将返回1。如果使用扩展运算符,
a
将始终是一个数组。如果没有参数,它将只是一个空数组。我还没有使用扩展运算符,因此不打算将此作为答案发布…但是如果调用
multiply()
,然后
a
我希望
未定义
,因此您应该能够简单地检查
如果(a==未定义)返回0;
如果不传递参数,我希望乘法函数将返回1。如果使用扩展运算符,
a
将始终是一个数组。如果没有参数,它将只是一个空数组。我知道我很接近,但我缺少了一小部分,非常感谢!!!我知道我很接近,但我缺少了s这是一小部分,非常感谢!!!