JavaScript 数据结构捕获一对值作为键及其值

标签 javascript arrays dictionary object hashtable

我有级联过滤器下拉菜单、国家下拉菜单和州下拉菜单。 做出选择后,我需要将用户重定向到相应的页面。 例如。

    {
      USA + Texas : Texas URL,
      Germany + Berlin: Berlin URL
    } 

我可以做到,但这没有任何意义。我需要选择的值对作为键。

{
 Texas URL: ["USA", "Texas"],
 Berlin URL: ["German", "Berlin"]
}

我需要创建一种类似于对象映射或哈希表的数据结构来捕获这些数据。

有人可以就如何最好地创建此数据结构给我建议吗? 到目前为止,这是我的代码:

https://jsbin.com/tarapijumi/3/edit?html,js,output

最佳答案

您可以使用嵌套对象并将州和城市作为访问器

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)

关于JavaScript 数据结构捕获一对值作为键及其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335197/

相关文章:

javascript - dropzone 无法上传一些图片(内部服务器错误 500)

c - 传递专门定义为字符串的地址的段错误

vb.net - 如何在VB.Net中将Array转换为ArrayList

python - 迭代多个 json 行

javascript - Angularjs 路由在这里不起作用

Javascript - 图像数据处理和div渲染

javascript - jquery .one() 触发查询一次,但是如果 .one() 内部出现问题,我如何才能触发查询一次?

javascript - 在javascript中获取一个包含列表的对象

c++ - 如何按值对 STL 映射进行排序?

python - del 在 Python 中什么时候有用?