简体   繁体   English

如何在JavaScript对象中找到键及其值

[英]How to find a key and its value in javascript object

I have a javascript object 我有一个JavaScript对象

var obj = {a:{b:'value'}};

where key 'a' is dynamic, key 'b' is constant, so I am not able to get value from obj['a']. 键“ a”是动态的,键“ b”是恒定的,因此我无法从obj ['a']获取值。

Is there any way to get the value of key 'b' without knowing key 'a'. 有什么方法可以在不知道键“ a”的情况下获得键“ b”的值。

You can find all the keys of object using Object.keys(<obj>) 您可以使用Object.keys(<obj>)查找对象的所有键

In your case: 在您的情况下:

key = Object.keys(obj)[0]; // will return "a"

在此处输入图片说明

Use this: 用这个:

var obj = {a:{b:'value'}};
obj[Object.keys(obj)[0]].b

You could use Object.values , like so: 您可以使用Object.values ,如下所示:

const obj = { a: { b:'value' } };
Object.values(obj)[0].b // 'value'

Try this, 尝试这个,

res = { data: { list: { names: { blk: { cnt: 10 } } } }, test:'test' };
let val = getObjectVal(res, 'cnt')

getObjectVal(data, findKey){
let result = '';
for (let key in data) {
  if (key == findKey)
    result = data[findKey];
  if ((typeof data[key] === "object") && (data[key] !== null)) {
    if (key != findKey)
      result = getObjectVal(data[key], findKey)
  }
}
return result ? result : '';}

To get the value of b 得到b的值

 var obj = {a:{b:'value'}}; console.log(obj[Object.keys(obj)[0]].b) 

 var obj = {a:{b:'value'}}; // Looking for each object variables in obj Object.keys(obj).forEach(function(key){ // Looking for each object variables in the obj[key] Object.keys(obj[key]).forEach(function(key2){ // do what you want if key_2 is b if(key2=='b') console.log(obj[key][key2]) }) }) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM