这是按预期工作的第一个代码示例:在代码的其余部分中,它用作过滤器,并将匹配 myids 中的 2 个项目,其中 objectId 与 tWOsQhsP2Z 和 sStYrIU6lJ 匹配的 2 个项目:
return myids.objectId === "tWOsQhsP2Z" || myids.objectId === "sStYrIU6lJ";
因为我需要从数组传递任意数量的 id,所以我尝试重构代码,如下所示:
return myids.objectId === ("tWOsQhsP2Z" || "sStYrIU6lJ");
此新代码的问题在于,使用返回值的过滤器将仅返回一项,即 objectId 为 tWOsQhsP2Z 的一项。
你知道如何重构第二个代码,以便我保留单个代码“myids.objectId”,但返回所有 objectIds 值的匹配吗?
最佳答案
听起来你需要像 underscore.js contains() 这样的东西方法,将使事情变得更加简单。
例如
return _.contains(arrayOfIds, myids.objectId);
关于javascript - 匹配所有值,替换为 OR 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21315272/