給定一個整數陣列 arr 和一個映射函數 fn,傳回一個對每個元素應用轉換的新陣列。
傳回的陣列應建立為 returnedArray[i] = fn(arr[i], i).
請在不使用內建Array.map方法的情況下解決。
範例1:
輸入: arr = [1,2,3], fn = function plusone(n) { return n + 1; }
輸出: [2,3,4]
說明:
const newArray = map(arr, plusone); // [2,3,4]
此函數將數組中的每個值加一。
範例2:
輸入: arr = [1,2,3], fn = function plusI(n, i) { return n + i; }
輸出: [1,3,5]
說明: 此函數將每個值增加其所在索引。
範例 3:
輸入: arr = [10,20,30], fn = function Constant() { return 42; }
輸出: [42,42,42]
說明:函數總是傳回 42。
約束:
解
/** * @param {number[]} arr * @param {Function} fn * @return {number[]} */ var map = function (arr, fn) { let newArr = []; for (let i = 0; i < arr.length; i++) { newArr[i] = fn(arr[i], i); } return newArr; };
程式碼演練
var map = function (arr, fn) {
這是函數聲明。 map 函數接受兩個參數:arr(數字陣列)和 fn(將應用於陣列的每個元素的函數)。
令 newArr = [];
建立一個空數組來儲存轉換後的陣列元素。
for (令 i = 0; i 循環遍歷整個輸入數組 arr
newArr[i] = fn(arr[i], i);
檢查 arr[i] 中的每個陣列元素是否滿足指定條件並將結果儲存到空數組 newArr
返回newArr;
傳回包含轉換後的元素的新建立的陣列。
以上是#eetcode 對陣列中的每個元素套用變換的詳細內容。更多資訊請關注PHP中文網其他相關文章!