Type 'any[]' is not assignable to type 'never[]'. Type 'any' is not assignable to type 'never'.Vetur(2322) 不能将类型“any[]”分配给类型“never[]”。 不能将类型“any”分配给类型“never”。ts(2322)
时间: 2024-01-23 17:03:25 浏览: 207
这个错误的原因是你将 `any[]` 类型的数组赋值给了 `never[]` 类型的数组,而这两个类型是不兼容的。
`never[]` 类型表示一个空数组,而 `any[]` 类型表示一个可以包含任意类型元素的数组。由于 `never` 类型是所有类型的子类型,所以将 `any[]` 赋值给 `never[]` 是不允许的。
要解决这个问题,你需要明确指定数组中元素的类型,并确保与目标类型匹配。
以下是一个示例代码:
```typescript
interface Company {
COMPANYADDRESS: string;
}
const companyCodes: any[] = [];
const companies: Company[] = companyCodes.map((obj: any) => {
return {
COMPANYADDRESS: obj.COMPANYADDRESS
};
});
console.log(companies);
```
在上面的代码中,我们首先定义了一个 `Company` 接口,它包含 `COMPANYADDRESS` 属性。然后,我们将 `any[]` 类型的 `companyCodes` 数组使用 `map` 方法映射为 `Company[]` 类型的 `companies` 数组。在映射过程中,我们明确指定了 `obj` 参数的类型为 `any`,并通过对象字面量返回一个具有 `COMPANYADDRESS` 属性的对象。
请根据你的需求修改代码中的类型定义和属性名称,并确保将 `any[]` 类型转换为目标类型的数组。
阅读全文