[Easy] 手写数组 square

2024年1月27日

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

题目描述

想像一下,你正在参与一个高度仰赖数组操作的项目。你的任务是为数组原型设计一个新的方法,叫做 square()。这个方法应该有效率地迭代数组中的每个元素,并返回一个全新的数组,其中每个元素都是原始元素的平方。假设数组中只包含数字。

const numbers = [1, 2, 3, 4, 5];
const mixedArray = [1, 3.5];
const emptyArray = [];

numbers.square(); // [1, 4, 9, 16, 25]
mixedArray.square(); // [1, 12.25]
emptyArray.square(); // []

本题解答

以下是本题的解答,详细解题思路可以在 E+ 成长计划看到。如果想练习更多题目,推荐可以到 GreatFrontEnd 上练习。

解法一

Array.prototype.square = function () {
  const squaredArray = [];
  for (let i = 0; i < this.length; i++) {
    squaredArray.push(this[i] * this[i]);
  }
  return squaredArray;
};

解法二

Array.prototype.square = function () {
  return this.map((element) => element * element);
};
🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們