JQuery, если объект имеет значение - PullRequest
1 голос
/ 19 сентября 2011

У меня есть объект, построенный так:

tabArray.push({'linkId': 'tabBuild', 'id': 'columnRight','url': '/pages/publish/', 'content':response});

Как я могу использовать jQuery / javascript для проверки этого объекта на предмет наличия определенного URL?

Я пробовал это: if($.inArray('/pages/publish/', tabArray) > -1) alert('its in there');

Но безрезультатно!

Ответы [ 3 ]

1 голос
/ 19 сентября 2011

Это должно работать:

var inArray = !!$.grep(tabArray, function(item) {
        return item.url === '/pages/publish/';
    }).length;

console.log(inArray); // true
1 голос
/ 19 сентября 2011

Попробуйте следующее

var inArray = false;
for (var i = 0; i < tabArray.length; i++) {
  if (tabArray[i].url === '/pages/publish') {
    inArray = true;
    break;
  }
}
0 голосов
/ 19 сентября 2011

$. InArray не будет работать, поскольку он предназначен только для поиска в массиве строк, в то время как ваш массив представляет собой массив объектов.Вы можете создать свой собственный метод в массиве.

var inURLArray = function(url, array) {
  for(var i in array) {
    if(array[i].url && array[i].url === url)
    return true;
  }
  return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...