js根據(jù)后綴判斷文件文件類型的代碼
核心代碼
<script> function getFileType(fileName) { // 后綴獲取 let suffix = ''; // 獲取類型結(jié)果 let result = ''; try { const flieArr = fileName.split('.'); suffix = flieArr[flieArr.length - 1]; } catch (err) { suffix = ''; } // fileName無后綴返回 false if (!suffix) { return false; } suffix = suffix.toLocaleLowerCase(); // 圖片格式 const imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif']; // 進(jìn)行圖片匹配 result = imglist.find(item => item === suffix); if (result) { return 'image'; } // 匹配txt const txtlist = ['txt']; result = txtlist.find(item => item === suffix); if (result) { return 'txt'; } // 匹配 excel const excelist = ['xls', 'xlsx']; result = excelist.find(item => item === suffix); if (result) { return 'excel'; } // 匹配 word const wordlist = ['doc', 'docx']; result = wordlist.find(item => item === suffix); if (result) { return 'word'; } // 匹配 pdf const pdflist = ['pdf']; result = pdflist.find(item => item === suffix); if (result) { return 'pdf'; } // 匹配 ppt const pptlist = ['ppt', 'pptx']; result = pptlist.find(item => item === suffix); if (result) { return 'ppt'; } // 匹配 視頻 const videolist = ['mp4', 'm2v', 'mkv', 'rmvb', 'wmv', 'avi', 'flv', 'mov', 'm4v']; result = videolist.find(item => item === suffix); if (result) { return 'video'; } // 匹配 音頻 const radiolist = ['mp3', 'wav', 'wmv']; result = radiolist.find(item => item === suffix); if (result) { return 'radio'; } // 其他 文件類型 return 'other'; } console.log(getFileType("jb51.jpg")); </script>
在chrome中F12測試發(fā)現(xiàn)
符合我們的要求。
上面的代碼主要用到了js(=>) 箭頭函數(shù)
ES6標(biāo)準(zhǔn)新增了一種新的函數(shù):Arrow Function(箭頭函數(shù))。
為什么叫Arrow Function?因?yàn)樗亩x用的就是一個(gè)箭頭:
x => x * x
上面的箭頭函數(shù)相當(dāng)于:
function (x) {
return x * x;
}
箭頭函數(shù)相當(dāng)于匿名函數(shù),并且簡化了函數(shù)定義。箭頭函數(shù)有兩種格式,一種像上面的,只包含一個(gè)表達(dá)式,連{ ... }和return都省略掉了。還有一種可以包含多條語句,這時(shí)候就不能省略{ ... }和return:
=>是es6語法中的arrow function
(x) => x + 6
相當(dāng)于
function(x){
return x + 6;
};
以上就是js根據(jù)后綴判斷文件文件類型的代碼的詳細(xì)內(nèi)容,更多關(guān)于js后綴的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JS路由跳轉(zhuǎn)的簡單實(shí)現(xiàn)代碼
本文給大家分享一個(gè)簡單的js路由跳轉(zhuǎn)功能,非常不錯(cuò),需要的朋友參考下吧2017-09-09微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能(附源碼)
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能(附源碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12原生JS實(shí)現(xiàn)逼真的圖片3D旋轉(zhuǎn)效果詳解
這篇文章主要介紹了原生JS實(shí)現(xiàn)逼真的圖片3D旋轉(zhuǎn)效果,結(jié)合實(shí)例形式詳細(xì)分析了javascript實(shí)現(xiàn)圖片3D旋轉(zhuǎn)相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-02-02JS實(shí)現(xiàn)簡單的星期格式轉(zhuǎn)換功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的星期格式轉(zhuǎn)換功能,涉及JavaScript基于Date()對象的日期時(shí)間操作技巧,需要的朋友可以參考下2018-07-07showModalDialog模態(tài)對話框的使用詳解以及瀏覽器兼容
showModalDialog是jswindow對象的一個(gè)方法,和window.open一樣都是打開一個(gè)新的頁面。區(qū)別是:showModalDialog打開子窗口后,父窗口就不能獲取焦點(diǎn)了(也就是無法操作了)2014-01-01微信小程序日期增加時(shí)間完成訂單失效倒計(jì)時(shí)效果
這篇文章主要介紹了微信小程序日期增加時(shí)間完成訂單失效倒計(jì)時(shí)效果,在我們?nèi)粘Y徫镞^程中經(jīng)常會(huì)遇到這樣的功能,本文通過示例代碼給大家詳細(xì)講解,需要的朋友參考下吧2024-04-04