2017-10-17 127 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

相關問題