在 .includes() 中使用逻辑运算符——出现错误

Using a logical operator within .includes()--getting an error

我有一些代码可以在特定文档旁边附加一个文件扩展名图标——即所有 .pdf 文件旁边都有一个 PDF 图标。

有些文档以 docDOCX 结尾,因此我尝试实施 .includes('doc' || 'DOCX'),但收到错误消息,DOCX 最终未加载.因此,我刚刚为每个变体完成了 .includes('ext name')) { return...等,但这很麻烦,我想看看是否可以缩短它们。

我试图研究 .includes() 是否允许使用逻辑运算符,但一无所获。这是我收到错误的原因,还是有其他原因?

这是我的 JS:

function docType(fileName) {
    let docImg = "<img src='https://url/Current.ashx/docx.gif'  />"
    let msgImg = "<img src='https://url/Current.ashx/msg.gif'   />"

    let docStr = fileName.split(".");
      for (var i = 0; i < docStr.length; i++) {
       if (docStr[i].includes('doc' || 'DOCX')) { return docStr[i] = docImg;  } 
  else if (docStr[i].includes('msg')) { return docStr[i] = msgImg;  } 

      }
  } // docType

除了多个包含或正则表达式,您还可以使用 Array#some()

尝试

if(['doc','DOCX'].some(s = > docStr[i].includes(s)))

includes 检查作为参数传递的值。它在检查期间不评估任何用户代码。您将需要使用

if (docStr[i].includes('doc') || docStr[i].includes('doc'))