My Code It Does Not Work. I want to Sum of Numbers that the user gives in arguments.
So I use here Argument Object but am unable to fetch what is the mistake.
// 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);
You could try this solution:
/**
* 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
Try this:
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);
}
try this:
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);
out put like this:
Total Number : 4
Sum : 100
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.