JSFiddle - React, Tailwind, and code Playground
JavaScript
function pathJoin(parts, sep){
const separator = sep || '/';
parts = parts.map((part, index)=>{
if (index) {
part = part.replace(new RegExp('^' + separator), '');
}
if (index !== parts.length - 1) {
part = part.replace(new RegExp(separator + '$'), '');
}
return part;
})
return parts.join(separator);
}
console.log(pathJoin(['https://', 'hostname', 'path/']))
console.log(pathJoin(['relative/', 'path', 'to/dir/']))
console.log(pathJoin(['/absolute/', 'path', 'to/file']))