[英]How to apply For-Each Loop on Argument Array in Functions in Java Script
我的代码不起作用。 我想对用户在 arguments 中给出的数字求和。
所以我在这里使用参数 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);
Output
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.