javascript - 如何获取随机定位的对象的属性值

标签 javascript arrays object

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/

相关文章:

c# - 将 javascript 与 asp.net 连接起来

javascript - 在 AngularJS/Javascript 中使用 YouTube API

javascript - 如何在javascript中连接php数据库文件?

javascript - 使用 JS/jQuery 删除 WordPress 页面中 div 内的最后一个逗号

java - 将列表转换为固定大小的数组

javascript - 通过函数获取对象中特定键的值

c++ - 动态和经典多维数组的速度差异

Python:为什么这个数组获得 'gridwidth' 数量的索引?

javascript - 如何根据对象中的属性合并对象数组中的对象

delphi - 我的delphi应用程序的内存占用