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

时间:2018-09-21 05:22:12

标签: javascript

我有一个javascript对象

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

其中键“ a”是动态的,键“ b”是恒定的,因此我无法从obj ['a']获取值。

有什么方法可以在不知道键'a'的情况下获取键'b'的值。

6 个答案:

答案 0 :(得分:4)

您可以使用Object.keys(<obj>)

查找对象的所有键。

在您的情况下:

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

enter image description here

答案 1 :(得分:1)

使用此:

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

答案 2 :(得分:1)

您可以使用Object.values,如下所示:

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

答案 3 :(得分:1)

尝试一下

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 : '';}

答案 4 :(得分:0)

获取b的值

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

答案 5 :(得分:0)

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])
 })
})