Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kishanjvaghela/782937c48fc3e8c79dbb6def0d1b8309 to your computer and use it in GitHub Desktop.
Save Kishanjvaghela/782937c48fc3e8c79dbb6def0d1b8309 to your computer and use it in GitHub Desktop.
Let's Learn ES6 - Spread Operator and Rest Parameters
//1
let sum = function(){
var method = (prev,curr)=>{
return prev+curr;
};
return Array.prototype.reduce.call(arguments,method);
};
console.log(sum(1,2,3,4));
/*
output:
10
*/
//////////////////////
//2-A
let sum = function(...args){
var method = (prev,curr)=>{
return prev+curr;
};
return args.reduce(method);
};
console.log(sum(1,2,3,4));
//////////////////////
//2-B
let sum = function(...args){
var method = (prev,curr) => prev+curr;
return args.reduce(method);
};
console.log(sum(1,2,3,4));
//////////////////////
//2-C
let sum = function(...args){
return args.reduce((prev,curr) => prev+curr);
};
console.log(sum(1,2,3,4));
/*
output:
10
*/
//1
let sum = function(... args){
console.log(args);
};
sum(1,2,3,4);
/* output:
[1, 2, 3, 4]
*/
let multiply = (mul,...numbers)=>{
return numbers.map(n=>{
return mul*n;
});
};
let result = multiply(10,1,2,3);
console.log(result);
/**output:
[10, 20, 30]
**/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment