好吧,这是我的第一篇堆栈溢出帖子!
大家好,最近学习了很多关于函数式编程的知识。我在 funfunfunction 找到了一些旧视频这吊起了我的胃口,我一直在玩它们。
我的问题是......是否有更好/不同/首选的方式来重构这段代码:
if ( bodyClasses.contains("first-class") || bodyClasses.contains("second-class") || bodyClasses.contains("third-class") ) {
pages.filter((page) => searchAndReplace( page.postType, ".selector" ));
}
我尝试使用reduce()
,但很快就了解到,一旦第一次迭代返回true
,我就需要提前中断reduce。我觉得 if 语句在这里有意义,但我只是好奇。
我知道这是一小段没有上下文的代码,但问题在于概念而不是功能。
对于任何回复的人,我提前感谢您!
最佳答案
要摆脱 or,请与 .some
数组值匹配:
if(["first-class", "second-class", "third-class"].some(cls => bodyClasses.contains(cls)))
/*...*/;
如果您不对返回值执行任何操作,我不会使用 .filter
,那么只需使用 .forEach
。
关于javascript - 替换 Javascript 中的 "||"条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55010619/