如何在Java脚本中的函数中对参数数组应用For Each循环



我的代码不起作用。我想要用户在参数中给出的数字的总和。

所以我在这里使用了Argument Object,但无法获取错误所在。

// The Argument Object 
function myFunc()
{
console.log("You give Total Numbers : "+arguments.length);
let sum = 0;
console.log("Sum is : ");
arguments.forEach(element => {
sum += element;
});

console.log(sum);
}
myFunc(10,20);
myFunc(10,20,30);
myFunc(10,20,30,40);

您可以尝试以下解决方案:

/**
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments
*
* @param  {array} args ...args is the rest parameters. It contains all the arguments passed to the function.
*/
function myFunc (...args) {
console.log(`You give Total Numbers : ${args.length}`);
/**
* Reduce is a built-in array method that applies a function against an accumulator and each element
* in the array (from left to right) to reduce it to a single value.
*
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
*/
const sum = args.reduce((acc, curr) => acc + curr, 0);
console.log('Sum is :', sum);
};
myFunc(10, 20);
myFunc(10, 20, 30);
myFunc(10, 20, 30, 40);

输出

You give Total Numbers : 2
Sum is : 30
You give Total Numbers : 3
Sum is : 60
You give Total Numbers : 4
Sum is : 100

试试这个:

function myFunc(...arguments)
{
console.log("You give Total Numbers : "+arguments.length);
console.log("Sum is : ");
let sum = 0;
arguments.forEach(element => {
sum += element;
});

console.log(sum);
}

试试这个:

function myFunc() {
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
console.log(
`
Total Number : ${arguments.length}
Sum : ${sum}
`
);
}
myFunc(10 , 20 , 30 , 40);

像这样输出:

Total Number : 4
Sum : 100

最新更新