javascript - 打字稿中的过滤器出现“(字符串| null)[]”错误不可分配
问题描述
我有一个对象数组,其中一个属性有一个空值,我使用过滤器将其删除,但打字稿给我警告 null 不可分配?因为过滤器永远不会返回 null 为什么打字稿给我这样的错误?
const data = [
{
id: "123"
},
{
id: "456"
},
{
id: null
}
];
const d2: string[] = data.map((d) => d.id).filter((o) => o);
console.log(d2);
演示https://codesandbox.io/s/gallant-water-vio56?file=/src/index.ts:0-165
解决方案
推荐阅读
- javascript - TypeError:this.state.robots.filter 不是函数?
- html-table - 如何像标题一样在每个页面中显示表格部分
- kotlin - 如何在 Kotlin 中取消初始化 lateinit
- php - 在mysql表上插入数据
- sql - ORA-01720: 在 Oracle DB 中创建视图时,XXX.VW_XXX 的授权选项不存在
- java - 我在程序中调用 https URL 时遇到了 handshake_failure
- django - 脚本 django-admin 安装在 '/tmp/somedir/deps/0/python/bin' 中,它不在 PATH 上。考虑将此目录添加到 PATH
- oracle - 如何检查一个子查询是否是 Oracle SQL 中另一个子查询的子集?
- python - python计算到列中数字的距离
- javascript - 点击函数执行后如何调用函数