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

2024年3月8日

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

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 上追蹤我們