




Sponsored
Sponsored
This approach involves manually iterating over each element of the array using a for loop. For each element, we apply the provided function fn with the current element and its index as arguments. The result is then pushed into a new result array, which is returned at the end.
Time Complexity: O(n), where n is the number of elements in the array.
Space Complexity: O(n) for the resultant array.
The Python solution uses a list comprehension to iterate over the array, applying the function to each element in a concise manner.
Another approach is to use recursion to apply the function to each element in the array. We define a recursive function that processes elements by moving from the start to the end of the array, applying transformations and constructing the result array.
Time Complexity: O(n)
Space Complexity: O(n) for result array and O(n) for function call stack.
1function transformArrayRecursive(arr, fn, index = 0, result = []) {
2    if (index === arr.length) return result;
3    result.push(fn(arr[index], index));
4    return transformArrayRecursive(arr, fn, index + 1, result);
5}
6
7const arr = [1, 2, 3];
8const plusOne = (n, i) => n + 1;
9console.log(transformArrayRecursive(arr, plusOne));JavaScript's recursive function transformArrayRecursive builds the result array by processing each element recursively.