Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

579
Visualizações
¿Existe una función javascript integrada similar a os.path.join?

¿Existe una función javascript (del lado del cliente) incorporada que funcione de manera similar a la ruta. unir de path.join ? Sé que puedo unir cadenas de la siguiente manera:

 ['a', 'b'].join('/')

El problema es que si las cadenas ya contienen un "/" al principio o al final, entonces no se unirán correctamente, por ejemplo:

 ['a/','b'].join('/')
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Utilice el módulo de path . path.join es exactamente lo que estás buscando. De los documentos :

path.join([path1][, path2][, ...])# Une todos los argumentos y normaliza la ruta resultante.

Los argumentos deben ser cadenas. En v0.8, los argumentos que no eran cadenas se ignoraban silenciosamente. En v0.10 y posteriores, se lanza una excepción.

Ejemplo:

 path.join('/foo', 'bar', 'baz/asdf', 'quux', '..') // returns '/foo/bar/baz/asdf' path.join('foo', {}, 'bar') // throws exception TypeError: Arguments to path.join must be strings

Editar:

Asumí aquí que estás usando Javascript del lado del servidor como node.js. Si desea usarlo en el navegador, puede usar path-browserify .

over 4 years ago · Santiago Trujillo Relatório

0

Sobre la base de la respuesta de @Berty, esta variante de ES6 conserva todas las barras diagonales iniciales, para trabajar con direcciones URL relativas al protocolo (como //stackoverflow.com ), y también ignora las partes vacías:

 build_path = (...args) => { return args.map((part, i) => { if (i === 0) { return part.trim().replace(/[\/]*$/g, '') } else { return part.trim().replace(/(^[\/]*|[\/]*$)/g, '') } }).filter(x=>x.length).join('/') }
  • build_path("http://google.com/", "my", "path") devolverá "http://google.com/my/path"
  • build_path("//a", "", "/", "/b/") devolverá "//a/b"
  • build_path() devolverá ""

Tenga en cuenta que esta expresión regular elimina las barras inclinadas. A veces, una barra inclinada final tiene un significado semántico (por ejemplo, denota un directorio en lugar de un archivo), y esa distinción se perderá aquí.

over 4 years ago · Santiago Trujillo Relatório

0

Actualmente no hay una función integrada que realice una unión y prevenga los separadores duplicados. Si quieres conciso, solo escribiría el tuyo propio:

 function pathJoin(parts, sep){ var separator = sep || '/'; var replace = new RegExp(separator+'{1,}', 'g'); return parts.join(separator).replace(replace, separator); } var path = pathJoin(['a/', 'b', 'c//'])
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda