How can I get file extensions with JavaScript?

后端 未结 30 2431
终归单人心
终归单人心 2020-11-22 09:37

See code:

var file1 = \"50.xsl\";
var file2 = \"30.doc\";
getFileExtension(file1); //returns xsl
getFileExtension(file2); //returns doc

function getFileExt         


        
30条回答
  •  星月不相逢
    2020-11-22 10:07

    "one-liner" to get filename and extension using reduce and array destructuring :

    var str = "filename.with_dot.png";
    var [filename, extension] = str.split('.').reduce((acc, val, i, arr) => (i == arr.length - 1) ? [acc[0].substring(1), val] : [[acc[0], val].join('.')], [])
    
    console.log({filename, extension});

    with better indentation :

    var str = "filename.with_dot.png";
    var [filename, extension] = str.split('.')
       .reduce((acc, val, i, arr) => (i == arr.length - 1) 
           ? [acc[0].substring(1), val] 
           : [[acc[0], val].join('.')], [])
    
    
    console.log({filename, extension});
    
    // {
    //   "filename": "filename.with_dot",
    //   "extension": "png"
    // }
    

提交回复
热议问题