首页 > 解决方案 > JS 如何使用原型为数组创建新方法,但函数不带参数

问题描述

我想用一个名为 square() 的新方法扩展数组,它返回一个所有数字平方的新数组。我尝试制作它,但我无法弄清楚该函数不采用任何参数的方法,例如默认的 JS Array 方法。例如array.reverse()返回数组反转它不将数组作为参数,如下所示:array.reverse(array) 这是我的代码:

Array.prototype.square = function(Array){
    let a = []
    for (let num of Array){
        a.push(num**2)
    }
    return a
}

标签: javascriptarraysmethodsprototype

解决方案


您走在正确的轨道上,可以像这样轻松完成:

Array.prototype.square = function () {
    return this.map((number) => number * number)
}

let a = [1, 2]; // sample array

console.log(a.square()); // prints [1, 4]

我使用了地图,这使得这个过程非常容易。有关更多信息,请参阅此:数组映射函数


推荐阅读