arr = [
{
title: "Категория 1",
products: [
{ art: "1", prodname:"Элемент 1 категории 1" },
{ art: "2", prodname:"Элемент 2 категории 1" }
]
},
{
title: "Категория 2",
products: [
{ art: "3", prodname:"Элемент 1 категории 2" },
{ art: "4", prodname:"Элемент 2 категории 2" }
]
},
];
function GetCategoryByArt(art){
var result = $.grep(arr, function(cat){
return $.grep(cat.products, function(product){
return product.art == art;
}).length > 0;
});
return result.length > 0 ? result[0] : null;
}
function GetProductByArt(art){
var result = null;
$.each(arr, function(i, cat){
$.each(cat.products, function(j, product){
if(product.art == art)
{
result = product;
return;
}
});
if(result){ return; }
});
return result;
}
alert(GetCategoryByArt("3").title);
alert(GetProductByArt("3").prodname);
var arr = [
{
title: "Категория 1",
products: [
{ art: "1", prodname:"Элемент 1 категории 1" },
{ art: "2", prodname:"Элемент 2 категории 1" }
]
},
{
title: "Категория 2",
products: [
{ art: "3", prodname:"Элемент 1 категории 2" },
{ art: "4", prodname:"Элемент 2 категории 2" }
]
},
];
function searchInProducts(source, key, value) {
var temp;
for (var i = 0, ln = source.length; i < ln; i++) {
temp = source[i]["products"];
for (var k = 0, ln2 = temp.length; k < ln2; k++) {
if (temp[k][key] == value) {
return temp[k];
}
}
}
}
console.log(searchInProducts(arr, "art", 2)); // {art: "2", prodname: "Элемент 2 категории 1"}