检查数组是否包含 TypeScript 中特定 class 的实例

Check if array contains an instance of a particular class in TypeScript

我来自 .net 背景并且是打字稿的新手。我有一个数组,其中包含来自实现通用接口的不同 classes 的对象。我想检查数组是否包含来自特定 class 的对象。我尝试组合使用 'includes' 和 'instanceof' 但没有成功。提前致谢。

假设 class 是 'C1'、'C2' 和 'C3' 实现接口 'Int1'。 数组 'array01' 可以容纳实现接口 'Int1'.

的 classes 的对象
private static array01: Int1[] = [];

if(array01.includes(instanceof C1)) ??? //Want to check if 'array01' contains an object of class 'C1'.

尝试

private static array01: Int1[] = [];

if(array01.find(arr => arr instanceof C1)) {}

对于数组过滤器

private static array01: Int1[] = [];

if(array01.filter(arr => arr instanceof C1).length) {}

instanceof 是一个运算符,您不能将其作为要搜索的值传递给 includes.

您很可能正在寻找使用 the .some() method 和回调:

if (array01.some(obj => obj instanceof C1)) …