文件扩展名是一个三个或四个字母的缩写,或在文件末尾的缩写,告诉你在不同的操作系统下它是什么类型的文件。例如,文件名是code.js,因此这里的扩展名是js。本文的目的是告诉你如何编写一个JavaScript程序,从文件名中获取文件扩展名。我们将讨论两种最简单和最常用的方法来查找文件扩展名。
在JavaScript中获取文件扩展名
方法1:使用split()和pop()方法
我们可以使用 pop()和split()方法的组合来获取文件扩展名。split()方法将一个文本/字符串分割成一个子字符串数组后返回一个新的数组,它将被我们在方法参数中传递给它的字符分开。
让我们看一个分割方法的例子,我们将用一个文件名启动一个变量,然后在". "字符上分割该变量。
var filename = "code.js";
var returned = filename.split(".");
alert(returned); //code, js

我们可以在上面的截图中看到,code和js是以逗号分开的方式返回的。
pop()方法删除/弹出数组或字符串的最后一个元素,并将其作为一个值返回。让我们在JavaScript中实现pop()方法。
var filename = ["code" , "js"];
var returned = filename.pop();
alert(returned); // js
我们可以在下面的截图中看到, pop()方法弹出了文件名数组的最后一个元素并返回。

现在让我们把这两个 方法(即pop()方法和split()方法)结合起来,以实现我们获取文件扩展名的任务。
function getFileExtension(fileName){
//extract file extension
const extension = fileName.split('.').pop();
return extension;
}
// passing the filename
const fileExtension = getFileExtension('code.js');
alert(fileExtension);
在上面的代码中,我们做了一个名字为getFileExtension() 的小函数,这样我们就不用再重复写代码的过程了。 getFileExtension()函数接收一个文件名参数,然后拆分并弹出文件名的最后一个元素并返回结果。
方法2:使用substring()和lastIndexOf()方法
substring()方法是JavaScript的一个内置方法,它接收两个参数,即start和end,然后从字符串中提取这两个位置或索引之间的字符,并返回一个从开始到结束的子串,但不包括结束。让我们用JavaScript从aeroplane这个词中提取rop。
var machine = "Aeroplane";
var extract = machine.substring(2, 5);
alert(extract); // rop

lastIndexOf()方法用于查找指定字符或子串在字符串中的位置,并返回指定值在字符串中最后出现的索引值。如果没有找到该值,lastIndexOf() 会返回一个负一(-1)的值。
var machine = "Aeroplane";
var lastIndex = machine.lastIndexOf("a");
alert(lastIndex); // 6

现在让我们把substring()和lastIndexOf()这两个方法结合起来,从文件名中提取文件扩展名。
function getFileExtension(fileName) {
return fileName.substring(fileName.lastIndexOf(".") + 1);
}
var filename = "code.js";
var extension = getFileExtension(filename);
alert(extension); // js

fileName.lastIndexOf(".")+1返回文件名中.的最后位置或索引,+1是因为索引从0开始。
结论
文件扩展名是文件末尾的三个或四个字母的缩写,用于识别文件类型。文件扩展名很重要,因为它告诉我们的计算机对一个文件使用什么图标,什么软件或应用程序可以打开或编辑该文件。例如,扩展名doc告诉我们的计算机它是一个微软的word文件。找到扩展名也很关键,因为会有这样的情况:我们将文件导入我们的JavaScript,并根据该文件的扩展名进行操作。在这篇文章中,我们将探讨如何编写一个JavaScript程序来从文件名中获取文件扩展名。
