我有一个javascript变量(构面字段“源”)定义为

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将全部被归类为“源”构面字段中的“ 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
};


上面的问题是,它在构面字段“源”下创建了两个具有相同名称“ GHI”的构面值。我希望两种形式的网址“ www.ghi.com/1/”和“ www.ghi.com/2/”都位于单一构面值“ GHI”下。因此,理想情况下,在前端,应该只有一个“ GHI”,当我单击它时,它应该同时列出网址“ www.ghi.com/1/”和“ www.ghi.com/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/');


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

var arrayOfABC = urls['ABC'];


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

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

关于javascript - javascript-在变量分配下将多个字符串分配给单个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16303304/

10-09 15:12