0

我有一个javascript变量(构面字段'source')定义为

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

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

实际问题:现在我有两个 url,我想将它们包含在单个方面值“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    
};

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

4

1 回答 1

2

我认为您正在寻找一个地图,在 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/');

因此,要获取与“ABC”匹配的所有 URL,您将拥有:

var arrayOfABC = urls['ABC'];

要获取数组的第一个条目:

var url = urls['ABC'][0];
于 2013-04-30T15:22:04.020 回答