Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Underscore.js _.restArguments() Function

  • Last Updated : 15 Oct, 2020

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.

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. Kickstart your web development journey by learning JS concepts with our JavaScript Course. Now at it's lowest price ever!

Syntax:

_.restArguments( function, startIndex )

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



  • function: It is the stated function.
  • startIndex: It is the start position of the rest parameter. It is an optional parameter.

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.



My Personal Notes arrow_drop_up
Recommended Articles
Page :