JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

How can I use currying to transform a function with multiple arguments in JavaScript?

Asked on Dec 20, 2025

Answer

Currying is a functional programming technique that transforms a function with multiple arguments into a sequence of functions, each taking a single argument. This allows for more flexible and reusable function calls.
<!-- BEGIN COPY / PASTE -->
        function curry(fn) {
            return function curried(...args) {
                if (args.length >= fn.length) {
                    return fn.apply(this, args);
                } else {
                    return function(...nextArgs) {
                        return curried.apply(this, args.concat(nextArgs));
                    };
                }
            };
        }

        function add(a, b, c) {
            return a + b + c;
        }

        const curriedAdd = curry(add);

        console.log(curriedAdd(1)(2)(3)); // Output: 6
        console.log(curriedAdd(1, 2)(3)); // Output: 6
        console.log(curriedAdd(1)(2, 3)); // Output: 6
        <!-- END COPY / PASTE -->
Additional Comment:
  • The "curry" function takes a function "fn" as an argument and returns a new function "curried".
  • "curried" checks if the number of arguments is sufficient to call "fn". If so, it calls "fn" with those arguments.
  • If not, it returns another function to collect more arguments.
  • The "add" function is an example of a function that can be curried.
  • "curriedAdd" demonstrates how the curried function can be called with different combinations of arguments.
✅ Answered with JavaScript best practices.
← Back to All Questions

Q&A Network
5,000+ Real Questions. Clear Answers.
JavaScript
Ask Questions / Get Answers about JavaScript!
AI Business
Ask Questions / Get Answers about AI Business!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
AI Design
Ask Questions / Get Answers about AI Design!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Performance
Ask Questions / Get Answers about Web Vitals!
DevOps
Ask Questions / Get Answers about DevOps!
3D Design
Ask Questions / Get Answers about 3D Design!
Web Development
Ask Questions / Get Answers about Web Development!
HTML
Ask Questions / Get Answers about HTML!
Photography
Ask Questions / Get Answers about Photography!
AI
Ask Questions / Get Answers about AI!
Web Languages
Ask Questions / Get Answers about Web Languages!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
Film Production
Ask Questions / Get Answers about Film Production!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
VR & AR
Ask Questions / Get Answers about VR & AR!
Animation
Ask Questions / Get Answers about Animation!
Video Editing
Ask Questions / Get Answers about Video Editing!
Illustration
Ask Questions / Get Answers about Illustration!
CSS
Ask Questions / Get Answers about CSS!
Networking
Ask Questions / Get Answers about Networking!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
Web Hosting
Ask Questions / Get Answers about Hosting!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
AI Coding
Ask Questions / Get Answers about AI Coding!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
Podcasting
Ask Questions / Get Answers about Podcasting!
Data Science
Ask Questions / Get Answers about Data Science!
AI Writing
Ask Questions / Get Answers about AI Writing!
AI Education
Ask Questions / Get Answers about AI Education!
Tailwind
Ask Questions / Get Answers about Tailwind!
Chatbots
Ask Questions / Get Answers about Chatbots!
Sound Design
Ask Questions / Get Answers about Sound Design!
WordPress
Ask Questions / Get Answers about WordPress!
AI Video
Ask Questions / Get Answers about AI Video!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
AI Images
Ask Questions / Get Answers about AI Images!
IoT
Ask Questions / Get Answers about IoT!
AI Audio
Ask Questions / Get Answers about AI Audio!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
SEO
Ask Questions / Get Answers about SEO!
Analytics
Ask Questions / Get Answers about Analytics!
Robotics
Ask Questions / Get Answers about Robotics!
Quantum
Ask Questions / Get Answers about Quantum Computing!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
Security
Ask Questions / Get Answers about Website Security!