[Easy] LeetCode JS 30 - 2635. Apply Transform Over Each Element in Array (手寫原生陣列 map 方法)

2024年3月8日

💎 加入 E+ 成長計畫 與超過 400+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源

LeetCode 30 Days of JavaScript

題目描述

給定一個只有整數的陣列 arr ,以及一個函式 fn;要返回一個新的陣列,新陣列的每個元素都需要套用 fn ,讓回傳的陣列會成為 returnedArray[i] = fn(arr[i], i)。本題不得使用 JavaScript 內建的 Array.map 方法來解。

// 範例一
輸入: arr = [1,2,3], fn = function plusone(n) { return n + 1; }
輸出: [2,3,4]
解說:
const newArray = map(arr, plusone); // [2,3,4]
該函式將陣列中的每個值都增加一

// 範例二
輸入: arr = [1,2,3], fn = function plusI(n, i) { return n + i; }
輸出: [1,3,5]
解說: 該函式將陣列中的每個值都增加其索引的量

本題解答

以下是本題的解答,詳細解題思路可以在 E+ 成長計畫看到。如果想練習更多題目,推薦可以到 GreatFrontEnd 上練習

解法

var map = function (arr, fn) {
  const returnedArray = [];
  for (let i = 0; i < arr.length; i++) {
    returnedArray[i] = fn(arr[i], i);
  }
  return returnedArray;
};
🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們