javascript - 在变量赋值下为单个字符串分配多个字符串

时间:2013-04-30 15:15:21

标签: javascript

我有 javascript 变量(facet field'source')定义为

var source = {
    'www.abc.com/1/'  : 'ABC',
    'www.def.com/1/'  : 'DEF',
    'www.ghi.com/1/'  :'GHI',       
};

在上面的例子中,ABC,DEF和GHI用于显示构面字段值。因此,诸如www.abc.com之类的网址将全部归入“ABC”方面值,具有www.def.com的网址将全部归入名为“Source”的facet字段下的“DEF”方面值。

实际问题:现在我有两个网址,我希望将其包含在单个方面的值'GHI'中,如下所示

var source = {
    'www.abc.com/1/'  : 'ABC',
    'www.def.com/1/'  : 'DEF',
    'www.ghi.com/1/'  :'GHI', 
    'www.ghi.com/2/'  :'GHI',   //trying to add this    
};

上面的问题是,它在facet字段'Source'下创建两个具有相同名称'GHI'的facet值。我希望两种形式的网址“www.ghi.com/1/”和“www.ghi.com/2/”都是单一的“GHI”。理想情况下,在前端,应该只有一个'GHI',当我点击它时,它应该列出两个网址'www.ghi.com/1/'和'www.ghi.com/2 /'< / p>

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找一个Map,在JavaScript中应该这样做:

var source = ['ABC', 'DEF', 'GHI'];

var urls = {};
urls['ABC'] = new Array();
urls['DEF'] = new Array();
urls['GHI'] = new Array();
urls['ABC'].push('www.abc.com/1/');
urls['DEF'].push('www.def.com/1/');
urls['GHI'].push('www.ghi.com/1/');
urls['GHI'].push('www.ghi.com/2/');

因此,要使所有URL匹配'ABC',您将拥有:

var arrayOfABC = urls['ABC'];

获取数组的第一个条目:

var url = urls['ABC'][0];