我想在我的ts文件中使用Array.prototype.includes
方法。
const id = this.selectedItem.id;
ids.includes(id);
ids
是一个数字数组。
我总是收到编译错误:
Argument of type 'number' is not assignable to parameter of type 'number & string'
当将id明确地转换为数字Number(id)
时,我还会看到Type number is not assignable to type string
。
当我将id明确转换为字符串id.toString()
时,我可以看到Type string is not assignable to type number
。
那是压倒性的。 includes
方法如何在TypeScript中使用?在我的示例中如何使用它?
[编辑] 扩展示例:
interface State extends EntityState<IItem> {}
this.stateSubscription = this.store.select((state: State) => state.items).subscribe(
val => {
const selectedId = this.selectedItem ? this.selectedItem.id : null;
val.ids.includes(selectedId);
}));
val.ids.includes(selectedId as any)
也不起作用。
答案 0 :(得分:0)
您已将ids
声明为number[] & string[]
这意味着您提供给方法的参数应为number[] & string[]
类型。
尝试将其声明为number[] | string[]
,这是其中之一,而不是两者都为。