Underscore.js _.restArguments() Function (original) (raw)

Last Updated : 25 Nov, 2021

Underscore.js is a JavaScript library that provides a lot of useful functions that help in the programming in a big way like the map, filter, invoke, etc. even without using any built-in objects.

The _.restArguments() function is an inbuilt function in Underscore.js library of JavaScript which is used to find a version of the function which when invoked can receive all the arguments from and beyond the stated startIndex that is collected into a single array. The number of arguments to the function would be used to determine the startIndex when a definite value is not given.

Syntax:

_.restArguments( function, startIndex )

Parameters: This method accepts two parameters as mentioned above and described below:

Return Value: This method returns a version of the function which is when invoked can receive all the arguments from and beyond the stated index.

Example 1: In this example, a user-defined function is used.

HTML

<!DOCTYPE html>

< html >

< head >

`` < script src =

`` </ script >

</ head >

< body >

`` < script type = "text/javascript" >

`` // Calling restArguments method

`` // with its parameter

`` var writes =

`` _.restArguments(function (authors, portal) {

`` return authors + portal;

`` });

`` // Calling write with its values

`` console.log(

`` writes(

`` ['Nidhi1352', ' GeeksforGeeks!']

`` )

`` );

`` </ script >

</ body >

</ html >

Output:

Nidhi1352, GeeksforGeeks!

Example 2: In this example, a starting index is passed along with the user-defined function.

HTML

<!DOCTYPE html>

< html >

< head >

`` < script src =

`` </ script >

</ head >

< body >

`` < script type = "text/javascript" >

`` // Calling restArguments method

`` // with its parameter

`` var writes =

`` _.restArguments(

`` function (authors, portal, articles) {

`` return authors + portal + articles;

`` }, [2]);

`` // Calling writes with its values

`` console.log(

`` writes(

`` ['Nidhi1352', ' GeeksforGeeks!', ' 700 ']

`` )

`` );

`` </ script >

</ body >

</ html >

Output:

Nidhi1352, GeeksforGeeks!, 700 undefined

Example 3:

HTML

<!DOCTYPE html>

< html >

< head >

`` < script src =

`` </ script >

</ head >

< body >

`` < script type = "text/javascript" >

`` var call =

`` _.restArguments(function (who, whom) {

`` return who + ' ' +

`` _.initial(whom).join(', ') +

`` (_.size(whom) > 2 ? ', & ' : '') +

`` _.last(whom);

`` });

`` // Calling the function above

`` // with its values

`` console.log(

`` call(

`` 'She called', 'me', 'her', 'you.'

`` )

`` );

`` </ script >

</ body >

Output:

She called me, her, & you.