gpt4 book ai didi

typescript - 在 Typescript 中向数组添加属性

转载 作者:搜寻专家 更新时间:2023-10-30 20:53:52 25 4
gpt4 key购买 nike

我正在尝试向 Typescript 中的 Array 对象添加一个方法。我已经在 SO 上找到了其他解决方案,但这些都不适合我。

我的代码如下:

interface Array {
average(): () => number;
}

Array.prototype.average = () => {
var sum: number = 0

for (var i = 0; i < this.length; i++)
sum += this[i]

if (this.length)
return sum / this.length

return 0
}

我收到错误:“Array”类型的值上不存在属性“average”

最佳答案

您是否只在 Visual Studio 中收到错误?由于扩展内置接口(interface)中的错误,预计会有这么多。如果您只是调用 tsc.exe,这应该有效。

与此相关,您的代码有点偏离——您的 average 声明描述了一个函数,该函数返回一个返回数字的函数,而不是返回一个数字(您只想编写 average(): number 在该行)。此外,因为您在实现中使用了 => 而不是 function() {,所以您将在运行时绑定(bind)到错误的 this 值.希望对您有所帮助!

关于typescript - 在 Typescript 中向数组添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14867649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com