Decompor uma URL
Crie uma função chamada que recebe uma string (URL) como entrada. Decomponha a string e retorne um objeto com as seguintes propriedades:
- protocol: Este é o protocolo da URL (por exemplo, "http").
- ipAdress: Deve conter o endereço IP (se for válido) da URL ou
null. - subDomain: Deve conter o subdomínio da URL (por exemplo, "www" ou
null). - domainName: Deve conter o domínio sem o subdomínio (por exemplo, "google.com" ou
null). - folderTree: Deve conter um array de pastas (por exemplo, "www.google.com/test/image/index.html" ➞
["test", "image"]ounull) - targetFile: Deve retornar o arquivo de destino.
- por exemplo, 1. "www.google.com/test/image" ➞ "image"
- por exemplo, 2. "www.google.com/test/index.html" ➞ "index.html" ou
null
- argumentsFile: Deve retornar os argumentos do arquivo de destino.
- por exemplo, "www.google.com/test/image?search=ok" ➞ "?search=ok" ou
null
- por exemplo, "www.google.com/test/image?search=ok" ➞ "?search=ok" ou
Exemplos
decomposeUrl("https://www.google.com/search/test.js?ok=1") ➞ {
protocol: "https",
ipAdress: null,
subDomain: "www",
domainName: "google.com",
folderTree: (1) […],
targetFile: "test.js",
argumentsFile: "?ok=1"
}
decomposeUrl("https://edabit.com/new/challenge") ➞ {
protocol: "https",
ipAdress: null,
subDomain: null,
domainName: "edabit.com",
folderTree: (1) […],
targetFile: "challenge",
argumentsFile: null
}
decomposeUrl("https://edabit.com/new/challenge/test.html") ➞ {
protocol: "https",
ipAdress: null,
subDomain: null,
domainName: "edabit.com",
folderTree: (2) […],
targetFile: "test.html",
argumentsFile: null
}Notas
N/A