在 Typescript 中向数组添加属性

2023-11-22

我正在尝试向 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
}

我收到错误:The property 'average' does not exist on value of type 'Array'


您只在 Visual Studio 中收到错误吗?由于扩展内置接口中的错误,预计会出现这样的情况。如果您只是调用 tsc.exe,这应该可以工作。

相关地,你的代码有点偏离——你的声明average描述一个函数,该函数返回一个返回数字的函数,而不是返回一个数字(您只需编写average(): number在那条线上)。另外,因为你使用了=>代替function() {在实现中,您将绑定到错误的this运行时的值。希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Typescript 中向数组添加属性 的相关文章

随机推荐

  • Mockito 可运行:想要但未调用?

    在提交错误报告之前 我想确保我没有做任何严重错误的事情 这实在是太奇怪了 设置 机器人电动3 0 模拟 1 10 19 被测单元 public BbScrollView Context context this context null p
  • 以编程方式在 TextView 中设置左侧可绘制对象

    我这里有一个 xml 中的 textView
  • bool 读/写操作在 x86 上可以不是原子的吗? [复制]

    这个问题在这里已经有答案了 假设我们有两个线程 一个正在循环中读取布尔值 另一个可以在特定时间切换它 我个人认为这应该是原子的 因为sizeof bool 在 C 中是 1 个字节 并且您不会部分读取 写入字节 但我想 100 确定 那么是
  • 立即更新解决方案中所有项目的参考路径

    我需要添加解决方案中所有项目 超过 35 个项目 的参考路径 手动执行此操作将非常耗时 有没有办法以编程方式更新 添加 删除所有项目的引用路径 我找到了一个可以满足我需要的插件 但不幸的是加载项下载链接被打破 您始终可以在文本编辑器中打开
  • 如何向Android框架添加系统服务

    我想添加我自己的在 Android system server 中运行的框架代码 处理所有系统级服务 我的服务加载一个 JNI 库 该库与我添加到内核中的驱动程序进行通信 该服务旨在允许应用程序向其注册侦听器以从驱动程序获取更新 我发现了一
  • 从 Scala 的 Future 中获取数据

    I ve a Future List Person 1 我想要得到List Person 从中 我该怎么做 import scala concurrent Future val futPersons Future List Person 有
  • Laravel 5.3 -VerifyCsrfToken.php 第 68 行中的 TokenMismatchException:

    当我登录我的应用程序并在输入后立即返回 然后尝试注销时 我从标题中收到错误消息 我该如何解决该问题 我在 laravel 5 4 中遇到了同样的问题 然后以下命令对我有用 chmod 777 存储 框架 会话 在此之前 它是 chmod 7
  • 使用postman发送json api对象

    我正在使用 JSONAPI 规范http jsonapi org format status 我有如下数据 data type tag id 1 attributes name Test 如何使用 postman chrome 扩展向端点发
  • 有没有办法在安装核心服务(Spark 等)后设置引导操作在 EMR 上运行?

    有没有办法在安装核心服务 Spark 等 后设置引导操作在 EMR 上运行 我正在使用 emr 5 27 0 您可以提交一些脚本作为step 不是引导程序 例如 我制作了一个SSL证书更新脚本 并通过步骤将其应用到EMR中 这是我用 Pyt
  • BadPaddingException 解密 Android 中的加密数据

    我对 Android 安全概念不熟悉 我一直在阅读一些博客 以了解我们可以使用公钥加密数据 并可以使用相应的私钥解密数据 加密似乎没有任何问题 但是当我尝试解密它时 它会抛出 javax crypto BadPaddingException
  • 我的应用程序如何发送带有照片的彩信?

    我想从我的应用程序撰写一条消息 其中可以包含照片 例如 我在 iPhone 中输入了我的相册并打开了一张照片我可以单击选项 然后单击彩信选项卡 照片将添加到消息中然后我可以将其发送给我想要的任何联系人 我想要的是 当我单击应用程序上的按钮时
  • 使用 gtools::mixedsort 或 dplyr::arrange 的替代方案

    我正在尝试通过使用来订购数据框dplyr arrange 问题是我尝试排序的列包含一个固定字符串后跟一个数字 例如由下面的虚拟代码生成的 dummydf lt data frame values rnorm 100 sortcol past
  • 为什么 a[c] 覆盖 a[b]? [复制]

    这个问题在这里已经有答案了 我不明白为什么输出是456 我认为a b 中的b是一个对象的属性 而c是a的另一个属性 它们与 var b 和 c 完全无关 但为什么 a c 会覆盖 a b 呢 var a b key b c key c a
  • 错误:“:”不是有效的资源名称字符

    我已将 Eclipse 项目导入到 android studio 我用 google 搜索但没有得到正确的答案 发生这些错误 D app src main res values strings xml Error Error is not
  • 测量 Android 上的数据漫游流量?

    刚从冰岛度过一个愉快的假期回来 正在等待我的电话公司的数据漫游账单 我希望尽可能限制我的流量 但我想提前知道 我使用了非常好的应用程序网络计数器但它根本没有测量漫游数据流量 所以我想构建自己的应用程序 仅测量漫游数据流量 我有一些布尔值要开
  • 使用 == 比较 numpy 数组的规则是什么?

    例如 尝试理解这些结果 gt gt gt x array 0 1 2 3 4 5 6 7 8 9 gt gt gt x np array 1 2 astype np float32 array 0 1 0 0 0 0 0 0 0 0 0 0
  • npm run 分段错误:11

    我正在尝试 npm run HOT 1 node node modules bin react native webpack server start hot 收到此错误 gt email protected hot Users user
  • Chartkick 柱形图多种颜色

    我在用着图表踢在我的 RoR 项目中生成图表 效果非常好 与谷歌图表一起 我创建了一个柱形图 with 只有 2 个酒吧 男性和女性 现在客户希望每个条形都有不同的颜色 那可能吗 我看过这个帖子 如何更改使用 Chartkick 创建的柱形
  • 如何显示 bash 会话的当前进程树?

    我想创建一个 bash 别名 它为我提供从我正在使用的当前 bash 会话到 init 的进程树 用例是为了知道我是否使用过bash or vi s shell命令 我正在使用 MacOS X 我听说过pstree 但是好像只显示子进程 而
  • 在 Typescript 中向数组添加属性

    我正在尝试向 Typescript 中的 Array 对象添加一个方法 我已经在 SO 上找到了其他解决方案 但这些解决方案都不适合我 我的代码如下所示 interface Array average gt number Array pro