lib.es6.d.ts中的find()和findIndex()

时间:2016-08-27 22:42:13

标签: typescript

为什么Array.prototype.findIndex()定义不包含索引和对象,而Array.prototype.find()呢?

find(predicate: (value: T, index: number, obj: Array<T>) => boolean, thisArg?: any): T;

findIndex(predicate: (value: T) => boolean, thisArg?: any): number;

我一直收到这个错误:

  

类型的参数&#39;(v:number,i:any,a:any)=&gt;布尔&#39;不能分配给&#39;(value:number)=&gt;类型的参数布尔&#39 ;.   (参数)v:数字

当我像这样使用它时:

arr.findIndex( (v, i, a) => {/*..*/} )

我应该编辑.d.ts文件吗?

1 个答案:

答案 0 :(得分:0)

这似乎是标准定义中的“错误”。 根据规范,它采用标准的阵列谓词函数:https://tc39.github.io/ecma262/#sec-array.prototype.findindex

我会在typescript的github上创建一个bug报告,并使用正确的签名在本地重载findIndex