Implement a custom `myReduce(arr, callback, initialValue)` that behaves like Array.prototype.reduce.
Problem Statement
Implement a custom `myReduce(arr, callback, initialValue)` that behaves like Array.prototype.reduce.
Complexity
Time Complexity: -
Space Complexity: -
Hints
š” Hint 1:
reduce() iterates through the array, accumulating a result.
š” Hint 2:
If no initialValue, use the first element and start from index 1.
š” Hint 3:
acc = callback(acc, arr[i], i, arr) for each element.
ā
Solution:
```javascript
function myReduce(arr, callback, initialValue) {
let acc = initialValue !== undefined ? initialValue : arr[0];
let startIndex = initialValue !== undefined ? 0 : 1;
for (let i = startIndex; i < arr.length; i++) {
acc = callback(acc, arr[i], i, arr);
}
return acc;
}
```