如果陈述建议

时间:2019-04-01 16:49:54

标签: javascript jquery arrays if-statement

我有一个要压缩的JavaScript

基本思想是 它从json文件中查找文件 如果文件是 MP4,mkv,avi,<任何视频格式。 它将网址附加在标签中

如果图像是相同的 带有标签。

这是我的代码。

//example
var link = "video.mp4";

var videoorimg = link.split(".").pop(1);
        if(videoorimg === "mp4"){
          $("body").append('<video src="'+ link +'">');
        }
        if(videoorimg === "jpg"){
          $("body").append('<img src="'+ link +'">');
        }
        

这很好。在图像和视频有多种文件类型的情况下,即时通讯如何出现问题。

我的想法是这样的数组。

//example
function imgarry(){
jpg,
png,
jpeg,
bmp,
tiff,
}

function videoarry(){
mkv,
mp4,
mov,
avi,
m4v,
}


var link = "video.mp4";

var videoorimg = link.split(".").pop(1);
        if(videoorimg === videoarry() ){
          $("body").append('<video src="'+ link +'">');
        }
        if(videoorimg === imgarry() ){
          $("body").append('<img src="'+ link +'">');
        }

我怎么知道这是不正确的, 我有办法吗?

2 个答案:

答案 0 :(得分:3)

可接受的图像和视频类型应以数组形式而不是函数形式

   //example
   let imgarry = [
    'jpg',
    'png',
    'jpeg',
    'bmp',
    'tiff',
   ];

   let videoarry = [
    'mkv',
    'mp4',
    'mov',
    'avi',
    'm4v'
   ]


let link = "video.mp4";

let videoorimg = link.split(".").pop(1);

if(videoarry.includes(videoorimg) ) {
   $("body").append('<video src="'+ link +'">');
}

if(imgarry.includes(videoorimg) )v{
   $("body").append('<img src="'+ link +'">');
}

答案 1 :(得分:0)

香草Js中的另一种解决方案:

var file = "Image.jpg";


    function ImageOrVideo(file){

        let imgExtensions = ["jpg","png","jpeg","bmp","tiff"],
        vidExtensions = ["mkv","mp4","mov","avi","m4v"],

        ext =  file.split(".").pop(1);

        if(imgExtensions.indexOf(ext) >= 0){
            return "Image!";
        }

        if(vidExtensions.indexOf(ext) >= 0){
            return "video!";
        }

    }

    console.log(ImageOrVideo(file));