javascript - 传入密钥并返回对象 javascript
问题描述
使用像这样结构的 JSON 数组,
"object1": {
"key1": "value1"
"key2": "value2"
}
"object2": {
"key3": null
"key4": null
}
}
我可以传递密钥吗?key3 并返回它所属的对象,例如。对象2?
我知道这可以通过 for 循环实现,但是我有很多键,所以我想知道是否还有其他方法。
解决方案
您可以遍历所有键并创建一个查找表。这将允许在O(1)
产生预处理成本后进行搜索。
const obj = {
"object1": {
"key1": "value1",
"key2": "value2"
},
"object2": {
"key3": null,
"key4": null
}
};
const lookup = {};
for (const k of Object.keys(obj)) {
for (const k2 of Object.keys(obj[k])) {
lookup[k2] = k;
}
}
console.log(lookup['key3']);
console.log(obj[lookup['key3']]);
console.log(lookup['key1']);
推荐阅读
- c# - Roslyn SemanticModel.GetTypeInfo(SyntaxNode node).Type 返回 null
- reactjs - 触发模态关闭按钮
- php - 如何向 WooCommerce Shipping 区域添加自定义字段?
- javascript - 使用 getRange() 和 getValue 搜索并返回数据
- active-directory - 如何修改 AD 模板以获取密钥加密密钥使用情况?
- c# - 单选按钮问题,根据其答案(是或否)生成下一个问题或询问一组详细信息以填写
- cakephp - 从我的视图中的另一个控制器渲染视图
- java - 此方法引发两个不同的异常。man 如何捕获两个异常并将两种异常类型捕获的异常打印到控制台?
- angular - TypeError:[某些功能]不是角度服务中的功能
- sql - 如何连接值可能为 NULL 的多个列