The iteratee function makes use of memorization, i.e., It is remembering the return value each time it calculates a value.
_.reduce(list, iteratee, memo)
Parameters: It accepts three parameters which are specified below-
- list: It is the list containing some elements.
- iteratee: It is the function which is used to take all the elements of the list and it also remember all the returned value.
- memo: It is a value.
Return value: It returns the value of the last iteration is returned by the _.reduce() function.
1) Passing a list of numbers to _.reduce() function: The ._reduce() function takes the element from the list one by one and do the specified operations on the code. Like here the operation is addition of the elements of the list. After adding all the elements, the reduce function ends. Here the starting value of memo is taken as ‘0’.
2) Passing and not passing the value of memo: If we are not passing memo variable’s value then it takes the value of the first element from the list. Otherwise it takes the mentioned value.
3) Finding out the value of num variable: The ‘num’ variable is a variable which stores the values of the list elements. Therefore since we are returning the value at the end when the function gets over, so, this implies that the list is also over. Therefore, the last element of the list will be printed.
4) Applying logical operators in the _.reduce() function: From the above examples we are clear that in the value of memo is 1 and that of num is 5 (for this example only). So, we can apply the logical operator (>, <) to compare the values of num and memo and then print their values.
- TypeScript | Array reduce() Method
- Lodash _.reduce() Method
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.