如何在两个条件下使用 Javascript array.find() ?

cod*_*mon 5 javascript arrays

我需要检查对象数组中的任何对象是否具有type: aAND 另一个对象是否具有type: b

我最初是这样做的:

const myObjects = objs.filter(attr => attr.type === 'a' || attr.type === 'b');

但代码审查抱怨说,filter当我们只需要知道是否有任何单个对象满足任一条件时,它将继续遍历整个数组。

我想使用array.find(),但这仅适用于单一条件。

无论如何,有没有办法在不使用循环的情况下做到这一点for

upo*_*pog 3

您可以通过下面给出的两个条件

[7,5,11,6,3,19].find(attr => {
    return (attr > 100 || attr %2===0);
});
6

[7,5,102,6,3,19].find(attr => {
    return (attr > 100 || attr %2===0);
});
102
Run Code Online (Sandbox Code Playgroud)