我试图使用一个库的包装器,该库要求以数组形式作为输入参数。
我尝试进行类型转换,但是出现了错误:无法将'any []'转换为'Array'
有没有方法让这个工作?
var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
我试图使用一个库的包装器,该库要求以数组形式作为输入参数。
我尝试进行类型转换,但是出现了错误:无法将'any []'转换为'Array'
有没有方法让这个工作?
var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
在 TypeScript 中,对于数组有 4 种可能的转换方法:
let x = []; //any[]
let y1 = x as number[];
let z1 = x as Array<number>;
let y2 = <number[]>x;
let z2 = <Array<number>>x;
< p > as
运算符主要用于 *.tsx
文件,以避免语法歧义。
我认为正确的语法是:
var rows2 = <Array<any>>rows;
这就是如何将类型转换为接口 Array<T>
我认为这只是一个bug - 你可以在CodePlex网站上记录一下问题吗?
作为解决方法,你可以编写<Array><any>rows
;
适用于所有类型的简单解决方案
const myArray = <MyType[]>value;