首页 > 解决方案 > 在 JSON 对象中查找数据

问题描述

在我的应用程序中,.json 配置文件中有以下数据:

"directions": {
  "horizontal": [
    "left",
    "right"
  ],
  "vertical": [
    "down",
    "up"
  ]
}

在应用程序逻辑中,用户从选择器中选择 4 个特定方向(左、右、上、下)中的一个,然后需要根据用户的选项在标签中显示“水平”或“垂直”一词选择。到目前为止,我有这个代码:
{{ specificDirection == 'right' ? 'horizontal' : 'other' }}
它验证标签在用户选择时显示正确的信息right。但是,我不知道如何directions在 .json 文件中搜索对象以找到特定方向,以便在标签中显示更高级别的方向。是否可以在不重组 JSON 对象的情况下做到这一点?

标签: arraysjson

解决方案


一种方法可能类似于

const directions = {
    "horizontal": [
      "left",
      "right"
    ],
    "vertical": [
      "down",
      "up"
    ]
};

const queryDirection = "down";
const label = Object.keys(directions)
                .filter(function(lbl) { 
                  return directions[lbl].indexOf(queryDirection) > -1
                })[0];
console.log(queryDirection, '=>', label);

这假设您可以保证查询方向将出现在方向列表中。否则,您将需要进行一些安全检查。


推荐阅读