我有一些代码可以在特定文档的旁边附加文件扩展名图标,即所有.pdf文件旁边都有一个PDF图标。
某些文档以doc
和DOCX
结尾,因此我尝试实现.includes('doc' || 'DOCX')
,但是我收到一个错误,DOCX
最终没有加载。因此,对于每种变化,我都只做了.includes('ext name')) { return
... etc,但是它很麻烦,我想看看它们是否可以缩短。
我尝试研究.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
答案 0 :(得分:1)
除了多个包含项或正则表达式之外,您还可以使用Array#some()
尝试
if(['doc','DOCX'].some(s = > docStr[i].includes(s)))
答案 1 :(得分:1)
includes
检查作为参数传递的值。在检查过程中不会评估任何用户代码。您将需要使用
if (docStr[i].includes('doc') || docStr[i].includes('doc'))