I have an array of urls like this:
[ 'https://subdomain1.example.com/foo-bar/', 'https://subdomain2.example.com/foo-bar', 'https://subdomain2.example.com/foo-bar', 'https://subdomain2.example.com/foo-bar', 'https://subdomain2.example.com/foo-bar' ]
I need to search inside it to match the user input with the subdomain
part of the url, I’m trying with thism line of code to achive it:
const searched = urlList.find( el => el.includes( match[1].toLocaleLowerCase() ) ) console.log(searched.length)
If the input is find, I need to replace the second part of the url, in my case /foo-bar
with /foo-baz
or /foo-baz-bar
to obtain a response for the user that is something like https://subdomain2.example.com/foo-bar-baz/
.
At the moment I’m not sure how to proceed, is there any function in JS that can help me?
Advertisement
Answer
You can simply achieve that with a single line of code.
const urlList = [ 'https://subdomain1.example.com/foo-bar/', 'https://subdomain2.example.com/foo-bar', 'https://subdomain2.example.com/foo-bar', 'https://subdomain2.example.com/foo-bar', 'https://subdomain2.example.com/foo-bar' ]; const findSubString = 'foo-bar'; const replaceSubString = 'foo-baz'; const res = urlList.map((url) => url.replace(findSubString, replaceSubString)); console.log(res);