前言
本文主要是练习如何获取文件拓展名的练习。之前有分享过一个方案,但是早晨有复习字符串语法中有涉及到一个方法交lastIndexOf(),所以想就这个问题应该有个更好的方案。
原来的方案
const extname = (filename) => {let arr=filename.split(".");let len=arr.length;let extname=''if(len>1){extname = arr[len-1];extname =arr[len-2]==''?'': `.${extname}`;return extname}return extname}
改进后的方案
其中增加了对多种情况的解读,对于不符合要求的返回空,解释如下:
1 最后一个点后无后缀名的
2 无点,没有办法实现后缀名的
3 有点但是前面无文件名的
const extname2 = (filename) => {let index=filename.lastIndexOf (".");let len = filename.lengthif(index<=0||index==len-1){return ''}else{return filename.substring(index,len)}}
拓展
我们经常在页面中会显示今天是今天几,很多前端都应该写过,但你写的方式是如何的?好的代码,高级的前端在很多代码细节能秒杀我们,千万不能因为自己也会框架就和架构师或者大牛画等号,基础非常重要。
let now = new Date()let week = now.getDay()//写法一switch(week){case 1:console.log('周一')break;case 2:console.log('周二')break;case 3:console.log('周三')break;case 4:console.log('周四')break;case 5:console.log('周五')break;case 6:console.log('周六')break;case 0:console.log('周日')break;}//写法二let weekArr=['日',"一","二","三","四","五","六"]console.log(`周${weekArr[week]}`)//写法三let weekStr ='日一二三四五六'console.log(`周${weekStr.charAt(week)}`)
