Reduce Function to Sum Array in DataWeave 2.0

Reduce Function to Sum Array in DataWeave 2.0: A Complete Guide

In DataWeave 2.0, the ‘reduce’ function serves as a powerful tool for summing arrays. This feature is especially valuable when working with numerical data, helping users perform efficient array summation operations. In this article, we will discuss how to use the Reduce function to sum an array in DataWeave 2.0

What is a reduced function?

It is important to understand the reduce function before moving on to other details. The “Reduce” function is a powerful and versatile tool in programming and data manipulation. Its primary purpose is to simplify the process of aggregating or combining elements within a data structure, often an array or list, into a single result. This result can be of various types, including numbers, map, filter, distinctBy, groupBy’ strings, objects, or even another array, depending on the specific use case.

Reduce Function to Sum Array in DataWeave 2.0 : A Step-by-Step Guide

Here we discuss step by step how to use this;

1- Define your array.

Initially you should have an array that you want to reduce. Start by creating a sample array:

  1. Plain text
  2. Copy to clipboard
  3. Open code in new window
  4. EnlighterJS 3 Syntax Highlighter

%dw 2.0

output application/json

var numbers = [1, 2, 3, 4, 5]

Here we’ve named our array “numbers,” and it contains a series of numeric values. The “numbers” array serves as the foundation for the subsequent reduction operation, where we’ll apply the “Reduce” function to calculate the sum of these values.

 2- Use the Reduce Function

Here we use the “Reduce” function to sum the elements of our array. The Reduce function takes two parameters:

  • The array that you want to transform.
  • A lambda expression, which is a function that is called for each element in the array

Here’s how  can we do:

Plain text

Copy to clipboard

Open code in new window

EnlighterJS 3 Syntax Highlighter

%dw 2.0

output application/json

var numbers = [1, 2, 3, 4, 5]

var sum = numbers reduce (accumulator, currentElement) -> accumulator + currentElement


    “sum”: sum


Here we’ve:

  1. 1. Created a variable named “sum” to store the result of the summation.
  2. Applied the “reduce” function to the “numbers” array, with a lambda function (accumulator, currentElement) -> accumulator + currentElement. This lambda function defines how the elements should be combined with the accumulator to calculate the sum.
  3. The “reduce” function iterates through the “numbers” array, adding each current element to the accumulator, cumulatively calculating the sum.
  4. Finally, the result is presented as a JSON object with the key “sum,” containing the calculated sum.

By following this step, you can efficiently utilize the “Reduce” function to sum the elements of your array in DataWeave 2.0, providing you with the desired summation of numeric values.

3- Show the Result

Once we have used the Reduce function to sum the values ​​in our array, we now need to display the result.

%dw 2.0

output application/json

var numbers = [1, 2, 3, 4, 5]

var sum = numbers reduce (accumulator, currentElement) -> accumulator + currentElement


    “total sum”: sum


4- Finally run the code

Once we have defined our array, used the “Reduce” function to calculate the sum, and displayed the result as desired, the final step is to run it in a DataWeave environment or integration tool like MuleSoft to obtain the computed sum. After running the code, we will get the following result:


Plain text

Copy to clipboard

Open code in new window

EnlighterJS 3 Syntax Highlighter


“totalSum”: 15


Once we have run your DataWeave code, we can use the output in our  MuleSoft application or anywhere else that we need to transform data.

I hope from this step by step guide you must clear your all questions on How to use Reduce Function to Sum Array in DataWeave 2.0

List of commonly used DataWeave 2.0 array manipulation functions and descriptions:

Function DataWeave 2.0 Array Manipulation Functions 
Map This function transforms each element in an array using a specified function, creating a new array with the transformed values.
Filter The filter function creates a new array by selecting elements that meet a specified condition, effectively filtering out elements that don’t match the criteria.
Reduce It aggregates array elements into a single result using a custom accumulator function. This is particularly useful for calculating sums or performing complex aggregations.
Pluck Pluck extracts a specific field or property from each element in an array, resulting in a new array with the extracted values.
distinctBy Removes duplicate elements from an array based on a custom criterion. It allows you to keep only unique elements.
orderBy This function sorts array elements based on specified criteria, allowing you to arrange them in either ascending or descending order.
groupBy Groups array elements based on a key or condition, returning a map where keys represent groups and values are arrays of elements within each group.
joinBy Combines array elements into a single string, separated by a specified separator.
pluckBy Similar to pluck, it extracts fields based on an array of field names provided, resulting in a new array.
sumBy Calculates the sum of values in an array based on a field or criteria, providing a single sum result.
sumOf Specifically calculates the sum of numeric values in an array.
msxBy Finds the maximum value in an array based on a custom criterion or condition.
miniBy Similar to maxBy, it identifies the minimum value in an array based on a custom criterion.
sizeOf Returns the number of elements in an array.
isEmpty It checks if an array is empty and returns a boolean value.
Contains Determines if an array contains a specific element, returning true or false.
Flatten Transforms a nested array into a single-level array, removing sub-arrays.
Reverse Reverses the order of elements in an array.
Slice Extracts a portion of an array based on start and end indices, allowing you to specify a range of elements.
Distinct Removes duplicate elements from an array, retaining only unique values.


Exploring DataWeave 2.0

Exploring DataWeave 2.0

DataWeave 2.0 is designed to facilitate the mapping, manipulation, and transformation of data from one format to another, making it a valuable tool in data integration, ETL (Extract, Transform, Load), and API development.

Here are the key features of DataWeave 2.0, a powerful data transformation language and engine:

1- Declarative Syntax

DataWeave 2.0 employs a declarative syntax, making it easy to read and write data transformation logic. This approach simplifies complex transformations by allowing you to describe what you want to achieve rather than specifying how to do it.

2- Functional Programming Paradigm

DataWeave 2.0 is built on a functional programming paradigm, enabling developers to create transformations using functions, mapping, filtering, and aggregation operations. This approach fosters code reusability and maintainability.

3- Versatile Data Format Support

 DataWeave 2.0 can handle a wide range of data formats, including JSON, XML, CSV, and more. It supports both structured and semi-structured data, making it suitable for various integration scenarios.

4- Real-Time Transformation

It facilitates real-time data transformations, allowing you to process and transform data as it flows through integration pipelines. This capability is vital for API responses, data enrichment, and data cleansing.

5- Extensibility

Developers can create custom functions and modules in DataWeave, enabling the reuse of transformation logic across different projects and promoting a modular and efficient approach to data transformation.

6- Error Handling

DataWeave provides robust error-handling capabilities, allowing developers to define error-handling logic and gracefully manage data transformation issues. This ensures data integrity and reliability.

7- Data Validation

 It allows simultaneous data validation and transformation, helping ensure data quality during integration processes. You can define validation rules and enforce data consistency.

8- Parallel Processing

 DataWeave 2.0 can take advantage of multi-core processors to perform transformations more efficiently. This feature is crucial for handling large volumes of data quickly and effectively.

Tight Integration with Anypoint Platform: DataWeave is seamlessly integrated with MuleSoft’s Anypoint Platform, a widely used integration platform. This integration simplifies the development and management of APIs and integrations.

9- Rich Standard Library

 DataWeave 2.0 comes with a comprehensive standard library that includes functions for working with strings, dates, arrays, and more. This library simplifies common data transformation tasks.

10- Multi-Format Output

 It supports various output formats, allowing you to transform data into the format required for your specific use case. This includes generating JSON, XML, and other data formats.

11- Multi-Source Integration

 DataWeave 2.0 can seamlessly integrate data from multiple sources, making it suitable for complex data aggregation and transformation tasks.

Use Cases of Dataweave 2.0

Use cases where DataWeave 2.0 is particularly valuable:

1- Real-Time Data Processing:

 For use cases where data must be processed and transformed in real-time, such as in financial transactions or IoT data streams, DataWeave is an ideal choice.

2- Data Quality and Enrichment

Maintaining high data quality is essential for data-driven decision-making. DataWeave helps clean and validate data, improving its accuracy, while data enrichment enhances its value.

3- API Development

In the era of APIs and microservices, API development is a critical use case. DataWeave simplifies the process of transforming data for APIs, ensuring that data is presented in a consumable and consistent format.

4- ETL Workflows

ETL (Extract, Transform, Load) is fundamental for data warehousing, business intelligence, and analytics. DataWeave streamlines the transformation step, enabling accurate and efficient data processing.

DataWeave 2.0: Installation and Scripting Guide


  • Begin by installing MuleSoft’s Anypoint Studio, which includes support for DataWeave 2.0.
  • Anypoint Studio is a development environment designed for MuleSoft integration projects and includes tools for creating, testing, and deploying DataWeave transformations.
  • You can download Anypoint Studio from the MuleSoft website and follow the installation instructions specific to your operating system.

Writing Your First DataWeave 2.0 Script:

  • Launch Anypoint Studio and create a new Mule project or open an existing one where you intend to use DataWeave.
  • Within your project, create a new DataWeave Transform component or open an existing one where you plan to write your DataWeave script.
  • Start by defining your input data, which can be in JSON, XML, or other supported formats.
  • Write your first DataWeave script to transform the input data into the desired output format. You can use basic functions like map, filter, and reduce, as well as operators to manipulate data.
  • Test your script using sample data to ensure it produces the expected results.
  • Continue refining your DataWeave skills by working on more complex transformations and exploring advanced features as needed for your projects.

Elevate DataWeave 2.0 Skills with Best Practices

Follow below points to elevate your Dataweave 2.0 Skills:

1- Code Reusability

Streamline your code by creating reusable functions, making it easier to maintain and scale.

2- Testing

 Rigorously test your DataWeave 2.0 scripts to guarantee they deliver the expected results and gracefully manage exceptions.

3- Documentation

Comprehensively document your transformations, enhancing code comprehension and simplifying maintenance for your team.


DataWeave 2.0, a potent data transformation language, explored its array manipulation functions while learning to use the “reduce” function to efficiently sum arrays. We’ve also discussed what DataWeave 2.0 is and offered a step-by-step guide to get started, underlining best practices like code reusability, testing, and documentation for proficient DataWeave development. These insights provide a comprehensive understanding of DataWeave 2.0’s capabilities and effective practices for harnessing its potential, especially when it comes to the reduce function to sum array in DataWeave 2.0.


How do I reduce an array in DataWeave?

This is a common question that almost all people ask.To reduce an array in DataWeave, use the reduce function. Here’s a simple example:


var numbers = [1, 2, 3, 4, 5]

var sum = numbers reduce (x, accumulator = 0) -> accumulator + x

This code sums the elements in the numbers array, resulting in a sum equal to 15.

More related blogs read at

Disclaimer Note: Website author Fakhar wrote and edited this content based on their best knowledge and understanding. These opinions and remarks are not endorsed or guaranteed by or Brightsfuture. The Brightsfuture does not guarantee this information. Users should verify and use their judgment before trusting the blog. Also Pictures used in this Article are copyright of their Respective Owners. Please use our Comment Box or Contact Us form to report this content. This information is not accountable for losses, injuries, or dam.

Zeen is a next generation WordPress theme. It’s powerful, beautifully designed and comes with everything you need to engage your visitors and increase conversions.