2016-08-17 48 views
0

我試圖訪問JavaScript對象的第一陣列訪問第一陣列

日期:

 var data = {}; 
     data['bmw'] = { 
     'google':[ 
      'seller1', 
      'seller2', 
      'seller3', 
     ], 
     'microsoft':[ 
      'seller3', 
      'seller4', 
      'seller5', 
     ], 
     }; 

輸出應該是:

array(
       'seller1', 
       'seller2', 
       'seller3', 
) 

我的代碼(不工作)

<script> 
    data[Object.keys(data)[0]]; // return Object {item_type1: Array[3], item_type2: Array[3]} 

    data[Object.keys(data)[0]][0]; // return undefined 
</script> 
+1

對象內部沒有訂單擔保。 – jcubic

+2

在同一個鍵下不能有兩個對象。數據對象中只有一個'dynamic_name'數組,它將是第二個。 – Maggie

+0

@jcubic - 對象可以有多個具有相同名稱的鍵嗎? – Rayon

回答

2

你怎麼能有兩個同名的鍵。很明顯,最後一個會覆蓋第一個鍵,您將能夠訪問最後一個鍵的數據。爲了從第一個鍵獲取數據,更改名稱,然後運行數據[Object.keys(data)[0]]並將鍵和值傳遞給它。對於關鍵字0,您將獲得第一個對象,然後您可以在其中循環以獲取值。更新了答案。檢查這個。

var data = {}; 
    data['bmw'] = { 
    'google':[ 
     'seller1', 
     'seller2', 
     'seller3', 
    ], 
    'microsoft':[ 
     'seller3', 
     'seller4', 
     'seller5', 
    ], 
    }; 

var first = data[Object.keys(data)[0]]; 

console.log(first[Object.keys(first)[0]]); 
+0

真棒真棒:) – Abudayah

+1

很高興幫助:) –

-1

嘗試:

data['dynamic_name'] 

你需要通過名稱來訪問屬性。

+0

數據與第二個數組元素連接 –

+0

名稱是動態的 – Abudayah