Фильтрация .каждый с помощью json

#jquery #json #each

#jquery #json #каждый

Вопрос:

 $.get('/shared/ajax/blog.asp', function(data){
jsonArray = $.xml2json(data)
$.each(jsonArray.channel.item, function(i, item) { 
var title = item.title 
  

В этих данных у меня есть множество различных доступных опций item.category. В моей каждой функции я хотел бы исключить элементы, которые имеют категорию UT или UK. В конце функции у меня есть простой оператор if, который избавляет от него, но он все еще считается как «i» в функции выше. Мне нужны самые новые 8 сообщений, за исключением сообщений UT и UK, и как сейчас я получаю только 6 результатов, потому что исключен UK item.category.

Ответ №1:

Вместо этого поддерживайте внутренний счетчик.

 var counter = 0;

if (category == "UT" || category == "UK") {
    return;
}
array.push(item);
counter  ;
if (counter == 5) {
    return false;
}
  

Ответ №2:

Вы можете отфильтровать все «UT» и «UK» перед повторением:

 var items = jsonArray.channel.item;
items = $.grep(items, function() { 
    return $(this).category != 'UT' amp;amp; $(thi).category != 'UK'; 
});
$.each(items, function(i, item) {