JavaScript在json数组匹配键中找到

时间:2015-05-12 16:12:35

标签: javascript json

我有一个JSON对象,它在我的应用程序中附加了其他对象时会发生变化。 我创建了一个JavaScript函数,其行为类似于 indexOf ,但对于JSON数组。 它看起来像这样:

// Find via slug
self.findSlug = function (array, slug) {

    // Counter
    var i = array.length;

    // While i
    while (i--) {

        // If we find our slug, break the loop
        if (array[i].slug === slug)
            break;
    }

    // Return our counter
    return i;
}

如果JSON对象具有名为" slug"的键,则此方法可以正常工作。现在我想说明一点。例如:

if (array[i]["key-name"] === slug) break;

以下是数组的示例:

[
    {
        "title": "Hoody",
        "price": 10,
        "designable": true,
        "configurable": true,
        "slug": "hoody",
        "fabric": "980506857489564534",
        "font": "city-bold",
        "fabrics": [

        ]
    }
]

但这似乎不起作用。有人可以建议这样做吗?

干杯, / r3plica

1 个答案:

答案 0 :(得分:0)

请试试这个:

var array = {     1:{“title”:“Hoody”,“price”:10,“designable”:true,“configurable”:true,“slug”:“hoody”,“fabric”:“980506857489564534”,         “font”:“city-bold”,“fabric”:[]},    2:{“title”:“Hoody2”,“price”:20,“designable”:true,“configurable”:true,“slug”:“hoody2”,“fabric”:“980506857489564534”,         “font”:“city-bold”,“fabric”:[]} }

for (key in array){
        for (subkey in array[key])  {
            if(subkey=="slug"){
                 //do something
            }
        }
}