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()
检查该对象方法。然后您可以使用 optional chaining如果找到该对象,则从该对象获取结果:
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()
结果的真实性,然后再尝试从中获取值:
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);
关于javascript - 如何获取随机定位的对象的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65529188/