问题描述
我正在研究一个函数,该函数从相应的前缀(例如www,.com等)中获取域名,并且在将别名称为true和将别名称为not之间有什么区别有点困惑等于-1。
从技术角度看,有人可以帮助我理解为什么不等于-1的方法与仅将别名称为true相对吗? (我可能正在追问这个问题,所以请更正我的语言用法)
我最初是从这个开始的,但是没有用。
function getDomain(url) {
//create result
let result = '';
let searchWWW = 'www.';
let searchHTTP = 'http://';
let searchHTTPS = 'https://';
let searchDOT = '.';
let searchCOM = '.com';
let searchCO = '.co';
let searchRU = '.r';
let indexOfStart = url.indexOf(searchWWW);
let indexOfStartHTTP = url.indexOf(searchHTTP);
let indexOfStartHTTPS = url.indexOf(searchHTTPS);
let indexOfEnd = url.indexOf(searchCOM);
let indexOfEndDot = url.indexOf(searchDOT);
// if www
if (indexOfStart) {
//slice from www to dot
result += url.slice(indexOfStart + 4,url.indexOf(searchDOT,(indexOfEndDot + 1)));
//if no www and no https
} else if (!indexOfStartHTTPS) {
//slice from https to dot
result += url.slice(indexOfStartHTTPS + 8,indexOfEndDot);
} else {
result += url.slice(indexOfStartHTTP + 7,indexOfEndDot);
}
//return result
return result;
}
另一方面,它确实起作用。
//create result
let result = '';
let searchWWW = 'www.';
let searchHTTP = 'http://';
let searchHTTPS = 'https://';
let searchDOT = '.';
let searchCOM = '.com';
let searchCO = '.co';
let searchRU = '.r';
let indexOfStart = url.indexOf(searchWWW);
let indexOfStartHTTP = url.indexOf(searchHTTP);
let indexOfStartHTTPS = url.indexOf(searchHTTPS);
let indexOfEnd = url.indexOf(searchCOM);
let indexOfEndDot = url.indexOf(searchDOT);
// if www
if (indexOfStart !== -1) {
//slice from www to dot
result += url.slice(indexOfStart + 4,(indexOfEndDot + 1)));
//if no www and no https
} else if (!indexOfStartHTTPS) {
//slice from http/https to dot
result += url.slice(indexOfStartHTTPS + 8,indexOfEndDot);
}
//return result
return result;
}
感谢您的帮助,期待得到更好的理解。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)