我正在尝试对需要数组作为输入参数的库使用包装器。
我尝试转换 Array,但出现错误:无法将 'any[]' 转换为 'Array'
有没有办法使这项工作?
var rows = new Array(10);
var rows2 = <Array>rows; //<--- Cannot convert 'any[]' to 'Array'
我正在尝试对需要数组作为输入参数的库使用包装器。
我尝试转换 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;
该as
运算符主要是为*.tsx
文件设计的,以避免语法歧义。
我认为正确的语法是:
var rows2 = <Array<any>>rows;
这就是你如何投射到interface Array<T>
我认为这只是一个错误 - 您可以在 CodePlex 网站上记录问题吗?
作为一种解决方法,您可以编写<Array><any>rows
;
适用于所有类型的简单解决方案
const myArray = <MyType[]>value;