typescript数组接口为什么没有数组的方法

发布于 2022-09-11 23:26:01 字数 165 浏览 30 评论 0

我要用接口描述[{},{},{}]这种形式的数据,所以我按照网上的教程定义了一个数组的接口,为什么这个数组的接口没有数组的方法,比如map?那我应该怎么做才能有数组的方法?
提问.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

心的位置 2022-09-18 23:26:01

用接口描述数组的确是可以,但是这样描述出来的数组似乎不具备数组方法,在ts中会报错
只能描述对象,再用[],不知道大家能不能有办法直接用接口描述数组的同时也让其具备数组方法的能力
图片描述

图片描述

图片描述

落叶缤纷 2022-09-18 23:26:01

2019.11.13更新,我之前的说法是不对的,其实数组也是可以用接口来描述的,题主的问题可以这样写来解决

interface aGood_list_array extends Array<{}> {
    [index: number]: {id: number}
}

const arr: aGood_list_array = [{id: 0}, {id: 1}]

?是旧回答,可以忽略


TypeScript中,接口(Interfaces)本来就是只能用来描述对象的类型的,数组的类型只能类似这样来写

const arr: {id: number}[] = [{id: 0},{id: 1}]
深海夜未眠 2022-09-18 23:26:01

你这里不应该将aGoods_list描述为aGoods_list_array类型,要描述数组的话可以这么定义:const aGoods_list: aGoods_list_array[] = [{...}],表示aGoods_list中的每一项都是aGoods_list_array类型的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文