[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);
};