我有一个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/