前言
本文主要是练习如何获取文件拓展名的练习。之前有分享过一个方案,但是早晨有复习字符串语法中有涉及到一个方法交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.length
if(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)}`)