我有下一个对象结构:
{
"translate.google.com":{...},
"stackoverflow.com":{...},
"google.com":{...},
}
即。对于每个子域我都有一些数据要使用。对于从URL中提取域/子域名,我使用下一个代码:
/**
*Gets domain name from current page
* @return {string} domain name
*/
getDomainData: function() {
var parts = location.origin.replace(/.*?:\/\//g, "").split('.').reverse();
var cnt = parts.length;
var result = parts[1] + '.' + parts[0];
if (cnt >= 3) {
// see if the second level domain is a common SLD.
if (parts[1].match(/^(com|edu|gov|net|mil|org|nom|co|name|info|biz)$/i)) {
result = parts[2] + '.' + parts[1] + '.' + parts[0];
}
}
return {
domainName: result,
subDomainName: this.getSubDomainName(location.origin)
};
},
/**
* returns subdomain name if exists, otherwise return domain name
* @param {[type]} url [description]
* @return {[type]} [description]
*/
getSubDomainName: function(url) {
var match = url.match(/:\/\/(www[0-9]?\.)?(.[^/:]+)/i);
if (match !== null && match.length > 2 && typeof match[2] === 'string' && match[2].length > 0) return match[2];
},
但是,对于某些情况,所有子域域的数据都是相同的,在这种字典结构中,我必须多次定义相同的数据。
我想创建一些智能算法,下一个键*.google.com
将获取此类密钥的值,并将其应用于所有谷歌域
感谢您的帮助。