我有级联过滤器下拉列表,国家/地区下拉列表和州/地区下拉列表。 做出选择后,我需要将用户重定向到相应的页面。 例如。
{
USA + Texas : Texas URL,
Germany + Berlin: Berlin URL
}
我可以这样做,但这没有任何意义。我需要选定的值对作为关键。
{
Texas URL: ["USA", "Texas"],
Berlin URL: ["German", "Berlin"]
}
我需要创建一种类似于对象映射或哈希表的数据结构来捕获此数据。
有人可以给我一些有关如何最好地创建此数据结构的建议。 这是到目前为止我的代码:
答案 0 :(得分:2)
您可以使用嵌套对象,并以州和城市为访问者
target = {
USA: {
California: 'http://example.com/usa/california',
Texas: 'http://example.com/germany/texas'
},
Germany: {
Frankfurt: 'http://example.com/germany/frankfurt',
Berlin: 'http://example.com/germany/berlin'
}
}
使用数组访问,例如
href = [country, state].reduce((r, k) => (r || {})[k], target)
答案 1 :(得分:1)
如果要使其在代码中易于使用且清晰易懂,我认为最好的方法是使用2个字典。拥有每个城市的所有国家之一,每个城市的URL都为一个:
countries = {
"USA": ["California", "Texas"],
"Germany": ["Berlin", "Leipzig"]
};
urls = {
"Texas": "Texas URL",
"California": "California URL",
"Berlin": "Berlin URL",
"Leipzig": "Leipzig URL"
};
然后,对于用户友好部分,您可以执行以下操作:选择一个国家/地区后,下一个选择将仅具有该国家/地区的城市的选项。
因此,如果选择“美国”,则在下一个选择中他们只会看到德克萨斯州和加利福尼亚州。
希望我能帮助您:-)