2014-10-20 41 views
0

獲取相同的順序數據我有這個對象在JS:在JS對象

var Categories = { 

    1: { 'id': 1, 'name': 'Uomo', 'has_child': 1 }, 
     5: { 'id': 4, 'name': 'Abbigliamento', 'has_child': 1 }, 
      10: { 'id': 9, 'name': 'Abiti' }, 
      15: { 'id': 10, 'name': 'Camicie' }, 
      20: { 'id': 11, 'name': 'Maglieria' }, 
      25: { 'id': 12, 'name': 'Pantaloni' }, 
      30: { 'id': 13, 'name': 'Topwear', 'end': 1 }, 
     35: { 'id': 5, 'name': 'Scarpe' }, 
     40: { 'id': 6, 'name': 'Accessori' }, 
     45: { 'id': 7, 'name': 'Sportivo' }, 
     50: { 'id': 8, 'name': 'Intimo', 'end': 1 }, 
    55: { 'id': 2, 'name': 'Donna', 'has_child': 1 }, 
     60: { 'id': 14, 'name': 'Abbigliamento', 'has_child': 1 }, 
      65: { 'id': 20, 'name': 'Abiti' }, 
      70: { 'id': 21, 'name': 'Camicie' }, 
      75: { 'id': 22, 'name': 'Maglieria' }, 
      80: { 'id': 23, 'name': 'Gonne' }, 
      85: { 'id': 24, 'name': 'Pantaloni' }, 
      90: { 'id': 25, 'name': 'Topwear', 'end': 1 }, 
     95: { 'id': 15, 'name': 'Scarpe' }, 
     100: { 'id': 16, 'name': 'Borse & Accessori' }, 
     105: { 'id': 17, 'name': 'Gioielli' }, 
     110: { 'id': 18, 'name': 'Sportivo' }, 
     115: { 'id': 19, 'name': 'Intimo', 'end': 1 }, 
    120: { 'id': 29, 'name': 'Bimbo', 'has_child': 1 }, 
     125: { 'id': 32, 'name': '0-24 mesi' }, 
     130: { 'id': 33, 'name': '3-8 anni' }, 
     135: { 'id': 34, 'name': '9-16 anni', 'end': 1 }, 
    140: { 'id': 3, 'name': 'Bimba', 'has_child': 1 }, 
     145: { 'id': 26, 'name': '0-24 mesi' }, 
     150: { 'id': 27, 'name': '3-8 anni' }, 
     155: { 'id': 28, 'name': '9-16 anni', 'end': 1 } 

}; 

現在有困難......我得到的,我們稱之爲CATEGORY_ID包含一個類別的id的變量。現在有了這個ID,我必須得到相關類別的「名稱」。

防爆如果CATEGORY_ID是10我一定要得到「Camicie」,如果是7我得「的Sportivo」。

我無法找到合適的代碼來做到這一點...

+0

@Pointy它對於對象字面量(例如'x = {1:2}')是有效的,而不是JSON。 – user2864740 2014-10-20 20:48:15

+0

它可能不是有效的JSON,但它是一個有效的JS對象。 – TheDude 2014-10-20 20:49:01

+0

whoa'mind == blown'每天學點東西 – Pointy 2014-10-20 20:49:18

回答

0

迭代通過按鍵和檢查屬性:

function findNameFromId(id) { 
    for (var key in Categories) { 
     if (Categories[key].id == id) { 
      return Categories[key].name; 
     } 
    } 
} 

現在你可以調用這個:

var name = findNameFromId("10"); //returns Camicie 
+0

謝謝你的回答。 10分 ;) – user3849948 2014-10-20 21:24:36