2017-10-17 124 views
0

我有一个对象,看起来像这样:的NodeJS:试图获得一个特定值的关键

var blu = { 
    obj_name: foo, 
    some_data: { 
      data1: { 
       bla1: -10, 
       bla2: 20, 
       bla3: 30 
       }, 
      data2: { 
       blo1: -10, 
       blo2: -20, 
       blo3: 30 
       } 
      }, 
    some_other_data: test 
} 

而且我的目标是提取和对象的some_data部分内的每一个正值操作,提取两个值,并对应于该值的键,在我的例子:

“bla2 10”
“bla3 30”
“blo3 30”

不幸的是我不知道如何获取与该值对应的键的字符串。我已经试过这样:

Object.keys(blu.some_data).forEach(k => { 
    Object.keys(blu.some_data[k]).forEach(p => { 
     if (blu.some_data[k][p] > 0) { 
     console.log(
      `${Object.keys(blu.some_data[k][p])} for ${blu.some_data[k][p]}` 
     ); 
     } 
    }); 
    }); 

我得到正确的正值,但没有相应的键:

“10”
“30”
“30”

如何打印对象的特定键?

回答

1

你的console.log行应该是这样

console.log(`${p} for ${blu.some_data[k][p]}`);

你要打印的是p键名。

+0

Righhttt ...多么愚蠢的问题......感谢您的帮助Kieper。我仍然无法相信我无法得到那个......多么愚蠢的问题...... Goshhh。 – Ardzii

相关问题