当我传递参数时,它会调用一个错误(无法读取未定义的属性“map”),当我传递一个空数组时,它会调用一个空数组:)
Array.prototype.square = function() {
return [].map((number) => number^2)
}
var numbers = [1, 2, 3, 4, 5];
console.log(numbers.square())
答案 0 :(得分:1)
使用Math.pow()
Array.prototype.square = function() {
return this.map(function(item) {
return Math.pow(item, 2);
});
}
var numbers = [1, 2, 3, 4, 5];
console.log(numbers.square())
答案 1 :(得分:1)
您正在空数组上应用 map()
,因此它将始终返回空数组,而是使用this
来引用数组。使用 Math .pow()
来获得数组元素的平方。
Array.prototype.square = function() {
return this.map((number) => Math.pow(number, 2))
}
var numbers = [1, 2, 3, 4, 5];
console.log(numbers.square())
JavaScript中的
仅供参考: ^
(caret symbol) using for bitwise XOR,请参阅:What does the caret symbol (^) do in JavaScript?