# 2635. Apply Transform Over Each Element in Array ###### tags: `leetcode 30 days js challenge` `Easy` [2635. Apply Transform Over Each Element in Array](https://leetcode.com/problems/apply-transform-over-each-element-in-array/) ### 題目描述 Given an integer array `arr` and a mapping function `fn`, return a new array with a transformation applied to each element. The returned array should be created such that `returnedArray[i] = fn(arr[i], i)`. Please solve it without the built-in `Array.map` method. ### 範例 **Example 1:** ``` Input: arr = [1,2,3], fn = function plusone(n) { return n + 1; } Output: [2,3,4] Explanation: const newArray = map(arr, plusone); // [2,3,4] The function increases each value in the array by one. ``` **Example 2:** ``` Input: arr = [1,2,3], fn = function plusI(n, i) { return n + i; } Output: [1,3,5] Explanation: The function increases each value by the index it resides in. ``` **Example 3:** ``` Input: arr = [10,20,30], fn = function constant() { return 42; } Output: [42,42,42] Explanation: The function always returns 42. ``` **Constraints**: - `0 <= arr.length <= 1000` - -10^9^ <= `arr[i]` <= 10^9^ - `fn returns a number` ### 解答 #### TypeScript ```typescript= function map(arr: number[], fn: (n: number, i: number) => number): number[] { const result = []; for (let i = 0; i < arr.length; i++) { result.push(fn(arr[i], i)); } return result; } ``` > [name=Sheep][time=Mon, May 8, 2023] ### Reference [回到題目列表](https://hackmd.io/@Marsgoat/leetcode_every_day)