arrays - 在 JSON 对象中查找数据
问题描述
在我的应用程序中,.json 配置文件中有以下数据:
"directions": {
"horizontal": [
"left",
"right"
],
"vertical": [
"down",
"up"
]
}
在应用程序逻辑中,用户从选择器中选择 4 个特定方向(左、右、上、下)中的一个,然后需要根据用户的选项在标签中显示“水平”或“垂直”一词选择。到目前为止,我有这个代码:
{{ specificDirection == 'right' ? 'horizontal' : 'other' }}
它验证标签在用户选择时显示正确的信息right
。但是,我不知道如何directions
在 .json 文件中搜索对象以找到特定方向,以便在标签中显示更高级别的方向。是否可以在不重组 JSON 对象的情况下做到这一点?
解决方案
一种方法可能类似于
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);
这假设您可以保证查询方向将出现在方向列表中。否则,您将需要进行一些安全检查。
推荐阅读
- google-cloud-dataflow - 在流式传输管道中使用谷歌云发布/订阅服务有什么好处
- html - Angular Material Stepper:设置活动页眉的样式
- c# - 如何使用 C# 可靠地读取串行端口的 CTS 和 DSR 状态
- c++ - 从专用模板类型继承的类的 Swig 包装器导致缺少方法
- python - 设备运动数据上的 sklearn 分类器
- javascript - HERE MAPS 中的 UI 控件 ZOOM 类
- reactjs - 使用 JEST/Enzyme React 测试重新渲染嵌套组件失败
- php - Laravel Eloquent 加入表后在哪里不工作
- python - 我的表单在模板上多次显示
- magnolia - Magnolia 中的所有子应用程序都无法打开并产生错误