文件拓展名、周几的写法优化

前言

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

分析一个用于传播Hancitor恶意软件的Word文档(第一部分)

最近,TechHelpList将一个用于传播Hancitor恶意软件的Word文档上传到了VirusBay,并概述了与之相关的站点、C2服务器以及由该文档所释放...

26110
来自专栏编程一生

漫画:Linux中/etc/resolv.conf文件和puppet工具解析

15260
来自专栏沈唁志

PHP完成微信小程序在线支付功能

89020
来自专栏我的博客

出现“内部错误,无法显示”

This page contains the following errors: error on line 2 at column 6: XML declar...

38540
来自专栏游戏杂谈

CentOS修改IP、DNS、网关

修改IP,我装的机器是戴尔的(双网卡):vi /etc/sysconfig/network-scripts/ifcfg-eth0

21920
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(十九) ——Redis客户端创建关闭及客户端总结

《Redis设计与实现》读书笔记(十九) ——Redis客户端创建关闭及客户端总结 (原创内容,转载请注明来源,谢谢) 一、客户端的创建于关闭 1、普通客户端...

46540
来自专栏Python攻城狮

Python网络爬虫(八) - 利用有道词典实现一个简单翻译程序1.爬虫前的分析2.Python使用MD5加密字符串3.代码操作基于python3.5

因为要实现有道翻译的翻译功能,就需要找到它的接口,打开审查元素,来到网络监听窗口(Network),查看API接口。

11740
来自专栏技术之路

将某个Qt4项目升级到Qt5遇到的问题[转]

该Qt4项目以前是使用Qt4.7.4 MSVC2008开发的,因为使用到了OWC10(Office Web Components),使用MSVC编译器的话无法正...

25390
来自专栏Youngxj

Windows7上帝模式?手把手教你打开!

21950
来自专栏salesforce零基础学习

salesforce 零基础学习(二十五)PickList简单联动操作

有的时候,项目需要一些联动的操作,比如省和市之间的联动,不同的省应该显示不同的城市。 操作步骤如下: 1.新建provice字段,并且初始化相关的值 ? 2.新...

24190

扫码关注云+社区

领取腾讯云代金券