用JavaScript实现basename获取路径中的文件名


发布者 ourjs  发布时间 1538713603170
关键字 JS学习  前端 
Node.js中path对象有一个basename函数,可以获取路径中最后一段路径名称,通常是文件名,比如:

var path = require('path')
path.basename('/foo/bar/baz/asdf/quux.html');
// Returns: 'quux.html'

其实用javascript几行代码就可以实现

function basename(str) {
  var idx = str.lastIndexOf('/')
  idx = idx > -1 ? idx : str.lastIndexOf('\\')
  if (idx < 0) {
    return str
  }
  return str.substring(idx + 1);
}

测试

basename('/foo/bar/baz/asdf/quux.html');
> "quux.html"
basename('c:\\abc\\efg\\height');
> "height"
basename('c:\\abc\\efg\\hiehgt\\abcd.html');
> "abcd.html"