У меня есть такой объект JSON:
Код: Выделить всё
var jsonListings = [
{
"img": "2521",
"text": "Alice",
"tags": ["structure"]
},{
"img": "2522",
"text": "Bob",
"tags": ["landscape","FRAMED"]
},{
"img": "2523",
"text": "Charlie",
"tags": ["structure","MATTED"]
}
];
Код: Выделить всё
var taglist = new Array(
["ALL",0],
["FRAMED",0],
["MATTED",0]
);
Код: Выделить всё
$.each(jsonListings, function(i,v) {
$.each(v.tags, function(i,val){
if (!taglist.includes(val)){
// taglist.push(val,0);
}
});
});
Код: Выделить всё
["ALL", 3],
["FRAMED",1],
["MATTED",1],
["structure",2],
["landscape",1]
(Предыстория: первая версия представляла собой простой массив без счетчиков, поэтому мой список тегов выглядел так:
Код: Выделить всё
["ALL","FRAMED","MATTED","structure","landscape"]
Псевдокод будет таким:
Код: Выделить всё
objTagList = ["ALL",0],["FRAMED",0],["MATTED",0]
for each objListing in objJsonListings:
for each arrTag in arrTags:
if objTaglist does NOT include arrTag: // new tag for taglist
objTagList.push([arrTag,1]) // add new tag
else
find arrTag[0] in objTagList: increment arrTag[1] by one
Я хочу найти подэлемент в родительском массиве, первый элемент которого [0] равен имеющемуся у меня тегу, чтобы я мог увеличить его второй элемент [1].
Подробнее здесь: https://stackoverflow.com/questions/792 ... oned-array
Мобильная версия