Javascript 创建相反字符串的对象

Javascript 创建相反字符串的对象,javascript,arrays,object,Javascript,Arrays,Object,我在Javascript中有以下对象: let directions = { "vertical": [ "down", "up", ], "horizontal": [ "left", "right", ] } 需要找到一种方法从中创建另一个对象,如下所示: left oppositeDirections = { "left": "right", "right": "left", "down": "up", "up": "dow

我在Javascript中有以下对象:

let directions = {
  "vertical": [
    "down",
    "up",
  ],
  "horizontal": [
    "left",
    "right",
  ]
}
需要找到一种方法从中创建另一个对象,如下所示:

left oppositeDirections = {
  "left": "right",
  "right": "left",
  "down": "up",
  "up": "down"
}

在JS中有没有一种优雅而有效的方法可以在不使用第三方库的情况下实现这一点?

通过这种方法,您可以获得所需的结果

让方向={
“垂直”:[
“倒下”,
“向上”,
],
“水平”:[
“左”,
“对”,
],
};
设res={};
Object.values(directions).forEach([a,b])=>{
res={…res[a]:b[b]:a};
});
控制台日志(res)
。作为控制台包装器{
最小高度:100%!重要;

}
好的,谢谢您的输入<代码>方向
的设计如图所示,因此当在主下拉框中选择垂直时,可以在UI中使用它在下拉框中显示向下和向上,然后当在主下拉框中选择水平时,可以在UI中显示向左和向右。至于我自己的尝试-我不知道如何开始解决这个问题,所以在这里发布了这个问题。因此,考虑到没有大量类似的对象需要处理,而且您的数据看起来也不会动态更改,为什么简单的硬编码是不够的?我想使用单一的数据源,然后以编程方式对其进行操作,以获得所需的任何变化,例如反向使用。