gpt4 book ai didi

javascript - 如何在 TypeScript 2 中转换为数组?

转载 作者:数据小太阳 更新时间:2023-10-29 04:00:12 26 4
gpt4 key购买 nike

我有一些代码将对象转换为数组类型(这样我就可以在对象上使用数组函数而不会出现编译错误)。

    var n = (result.data['value'] as []).map( (a)=>{
//..
});

但是在升级到 ts2 时,我得到:

error TS1122: A tuple type element list cannot be empty.

这实际上是语法错误,声称您忘记了逗号或值。那么,我该如何修改此转换才能正常工作?

我试过 as [IMyType] 并且它有效,但我不想指定类型,因为我在这里只需要 array.prototype 函数......还有,我不认为那是你实际这样做的方式。

最佳答案

出于某种原因,编译器认为 result.data['value'] is a tuple而不是数组。

你可以这样转换它:

result.data['value'] as any[]

应该告诉编译器它是一个数组,或者:

result.data['value'] as Array<any>

如果您的数组只有 IMyType 类型的项目,那么只需:

result.data['value'] as IMyType[]

但是,如果您的数组包含不同类型的项目,那么它要么是 any[] 要么是元组,例如:

result.data['value'] as [IMyType, string, string]

在任何情况下,在编译后的 js 中它将是一个数组,但是元组允许您定义具有特定类型的固定长度的数组。

关于javascript - 如何在 TypeScript 2 中转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39649994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com