我有一个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
答案 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
}
}
}