arrays - 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>
?
解决方案
在这之前...
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)))
推荐阅读
- sql - 将财务期转换为日期/时间
- angular - 无法安装 angular-cli:EPERM -4048 unlink
- google-oauth - 使用 1 次后丢弃 Google O Auth 访问令牌
- python - python vs cpp的行为不同
- json - 这个 JSON 数据是否正确解析为 Python 字典?
- html - 连续相同的 img 大小 /// col-8 <-> col-4
- typescript - 合并 DeepPartial / DeepMerge / Confine generic
- python - 列表中第一个元素的列表旋转并使用python将其移动到末尾
- python - 当我尝试通过 pyinstaller 创建 .exe 文件时出现此错误 - “ModuleNotFoundError: No module named 'acrcloud_extr_tool'”
- php - Composer Require 然后将服务注入 Laravel 应用程序而不离开 laravel 命令行