Arrays Typescript:声明返回嵌套数组的函数
我在typescript中声明了一个返回嵌套数组的函数,但我不确定如何声明返回类型和返回的数组。有人能帮忙吗?这是我的Arrays Typescript:声明返回嵌套数组的函数,arrays,typescript,return,Arrays,Typescript,Return,我在typescript中声明了一个返回嵌套数组的函数,但我不确定如何声明返回类型和返回的数组。有人能帮忙吗?这是我的 myFunction(items: any): [] { const data = []; for (const item of items) { data.push([item.parameter1, item.parameter2]) } return data; // IDE throws error here } 您可以使用myFunction
myFunction(items: any): [] {
const data = [];
for (const item of items) {
data.push([item.parameter1, item.parameter2])
}
return data; // IDE throws error here
}
您可以使用
myFunction():any[][]
:
例如:
myFunction(): any[][] {
let data = [,];
data = [[1], [2], [3]];
console.log(data);
return data;
}
如果需要某种类型的安全性,这里有一个解决方案:
接口项{
参数1:P1;
参数2:P2;
}
函数myFunction(项:项[]){
常量数据:[Item['parameter1'],Item['parameter2']][]=[];
用于(项目的常数项){
data.push([item.parameter1,item.parameter2])
}
返回数据;//返回[P1,P2][]
}
当我们使用静态类型系统时,更正确的方法是指定比任何
更多的内容。考虑这种类型安全的版本:
type Item = {
parameter1: any; // here better some type
parameter2: any; // here better some type
}
type ParametersTupleArr = [Item['parameter1'], Item['parameter2']][]; // return type
function myFunction(items: Item[]): ParametersTupleArr {
const data = [] as ParametersTupleArr;
for (const item of items) {
data.push([item.parameter1, item.parameter2])
}
return data;
}
Type[Item['parameter1'],Item['parameter2']][
表示我们将输出参数类型为Item
的2元素元组数组 @MichaelRennison我很高兴这对你有帮助!:)