在Javascript对象中按模式查找键

时间:2016-07-12 10:02:34

标签: javascript jquery

我有下一个对象结构:

{
"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将获取此类密钥的值,并将其应用于所有谷歌域

感谢您的帮助。

0 个答案:

没有答案