You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript视频上传类型检查:如何用ES6实现更简洁写法?

优化视频文件类型检查的ES6+方案

当然可以用ES6的新特性让这段代码更简洁易维护!这里有几种不错的实现方式:

1. 使用数组的includes()方法(最简洁直观)

把允许的视频MIME类型放到一个数组里,然后用includes()来判断当前文件类型是否在数组中,代码一下子就清爽多了:

const allowedVideoTypes = ['video/mp4', 'video/ogg', 'video/webm', 'video/avi'];
if (allowedVideoTypes.includes($fileSelected.type)) {
  // 你的文件处理逻辑
}

这种方式可读性极强,后续要添加或删除支持的类型,直接修改数组就行,不用堆一堆||拼接,维护成本低很多。

2. 使用Set提升查找性能(适合类型较多的场景)

如果以后需要支持的视频类型越来越多,用Set的has()方法会比数组includes()有更好的查找性能(时间复杂度O(1) vs O(n)):

const allowedVideoTypes = new Set(['video/mp4', 'video/ogg', 'video/webm', 'video/avi']);
if (allowedVideoTypes.has($fileSelected.type)) {
  // 你的文件处理逻辑
}

额外补充:处理MIME类型可能缺失的情况

有时候浏览器可能无法正确识别文件的MIME类型(比如某些小众视频格式,或者文件扩展名被修改过),如果需要更可靠的检查,还可以结合文件扩展名来判断:

const allowedExtensions = ['.mp4', '.ogg', '.webm', '.avi'];
const fileExtension = $fileSelected.name.slice($fileSelected.name.lastIndexOf('.'));
if (allowedExtensions.includes(fileExtension.toLowerCase())) {
  // 你的文件处理逻辑
}

可以根据自己的业务场景选择单独用MIME类型检查,或者两者结合使用,提升兼容性和可靠性。

内容的提问来源于stack exchange,提问作者KD1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:10:26