ext拓展名、周几js写法优化

190 阅读1分钟

前言

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