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

标签 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,我必须获取相关类别的“名称”。

例如,如果category_id是10,我必须获得“Camicie”,如果是7,我必须获得“Sportivo”。

我找不到正确的代码来执行此操作...

最佳答案

遍历键并检查属性:

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

现在你可以这样称呼:

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

关于javascript - 在js对象中获取相同的订单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474614/

相关文章:

javascript - 在javascript中将json字符串转换为xml字符串

javascript - Signalr 在 IIS AppPool 回收后永远重新连接

java - 当我尝试将对象添加到 ArrayList 时,它添加了哈希码,不知道如何解决。初学者

java - 如何根据一个属性对对象数组列表进行排序?

php - 通过 GET 或 POST 将 javascript 变量传递给 php 文件的函数?

javascript - 如何在点击时更改序号元素的 CSS?

.net - 检测 .NET 对象的属性值的变化?

Excel宏: Find and Compare Username from a Range of Authorized Usernames

javascript - mongodb:将字段移动到新文档并更新字段和数组

c# - 通过 C# 中的属性检索嵌套 Powershell 对象的值