在js对象中获取相同的订单数据

时间:2014-10-20 20:45:28

标签: javascript object

我在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,我必须得到" name"相关类别。

如果category_id为10,我必须得到" Camicie",如果是7,我必须得到" Sportivo"。

我找不到合适的代码来执行此操作...

1 个答案:

答案 0 :(得分:0)

遍历键并检查属性:

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

现在你可以这样称呼:

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