[Easy] 手寫陣列 square
2024年1月27日
💎 加入 E+ 成長計畫 與超過 400+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源
題目描述
想像一下,你正在參與一個高度仰賴陣列操作的項目。你的任務是為陣列原型設計一個新的方法,叫做 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);
};