我有 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>
答案 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];