javascript - 如何获取随机定位的对象的属性值
问题描述
res = {
A: { device001: 1, device002: 2 },
B: { device003: 3, device004: 4 }
};
对于上面的 Javascript 中的对象,我需要获取 device001 的值,但是 device001 是存在的,但是 device001 的位置是未知的,例如:
res = {
A: { device004: 4, device002: 2 },
B: { device003: 3, device001: 1 }
};
请告诉我如何获得该值,谢谢。
解决方案
您可以使用获取对象的值,Object.values()
然后使用.find()
它返回第一个值对象,该对象具有"device001"
您可以使用该.hasOwnProperty()
方法检查的键。然后,您可以使用可选链接从对象中获取结果(如果找到):
const obj = {
A: { device001: 1, device002: 2 },
B: { device003: 3, device004: 4 }
};
const search = "device001";
const result = Object.values(obj).find(obj => obj.hasOwnProperty(search))?.[search];
console.log(result);
如果您还不能支持可选链接,那么您可以.find()
在尝试从中获取值之前先检查 using 结果的真实性:
const obj = {
A: { device001: 1, device002: 2 },
B: { device003: 3, device004: 4 }
};
const search = "device001";
const found = Object.values(obj).find(obj => obj.hasOwnProperty(search));
const result = found && found[search];
console.log(result);
推荐阅读
- python - 逐行加入两个熊猫数据框列
- powershell - Powershell:在注册表属性名称中处理 /
- javascript - 用js滚动部分
- ios - CABasicAnimation 不适用于 CAGradientLayer
- android - 如何在 android 10 中为 voip 应用程序切换麦克风
- html - 为什么这个 html 表单在手机中没有响应,尽管我使用了 bootstrap 底部不可见
- pytorch - 使用多处理在 PyTorch 中模拟许多代理
- highcharts - 用于在 Highcharts 中堆叠系列的 groupPadding
- qt - 如何在 Qt3D 中创建撤消/重做操作?
- javascript - 你怎么能等待另一个程序响应?