首页 > 解决方案 > TypeScript:将类型推断为数组方括号的优雅方法 []

问题描述

我可以把它放在一行中吗?:

    const arr:Array<number> = []
    setIndices(arr.concat(indices.slice(0, current), current, indices.slice(current, indices.length)))

arr 常量在此处未使用。

我尝试了以下方法:

    setIndices([].concat(indices.slice(0, current), current, indices.slice(current, indices.length)))

-> “类型‘数字’不可分配给类型‘从不’。”

我可以像这样推断方括号 [] 的类型[]<number>[].concat<number>

标签: arraystypescriptgenerics

解决方案


在这之前...

    setIndices((new Array<number>()).concat(indices.slice(0, current), current, indices.slice(current, indices.length)))

...我终于明白了:

    setIndices(([] as number[]).concat(indices.slice(0, current), current, indices.slice(current, indices.length)))

推荐阅读