Может ли кто-нибудь сказать мне, как определить, появляется ли "specialword" в массиве? Пример:
categories: [
    "specialword"
    "word1"
    "word2"
]
Может ли кто-нибудь сказать мне, как определить, появляется ли "specialword" в массиве? Пример:
categories: [
    "specialword"
    "word1"
    "word2"
]
Вам действительно не нужен jQuery для этого.
var myarr = ["I", "like", "turtles"];
var arraycontainsturtles = (myarr.indexOf("turtles") > -1);
или
function arrayContains(needle, arrhaystack)
{
    return (arrhaystack.indexOf(needle) > -1);
}
Стоит отметить, что array.indexOf(..) не поддерживается в IE < 9, но функция jQuery indexOf(...) будет работать даже для старых версий.
jQuery предлагает $.inArray:
Обратите внимание, что inArray возвращает индекс найденного элемента, поэтому 0 указывает, что элемент является первым в массиве. -1 указывает, что элемент не найден.
var categoriesPresent = ['word', 'word', 'specialword', 'word'];
var categoriesNotPresent = ['word', 'word', 'word'];
var foundPresent = $.inArray('specialword', categoriesPresent) > -1;
var foundNotPresent = $.inArray('specialword', categoriesNotPresent) > -1;
console.log(foundPresent, foundNotPresent); // true false
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>		Здесь вы идете:
$.inArray('specialword', arr)
Эта функция возвращает положительное целое число (индекс массива заданного значения) или -1, если данное значение не было найдено в массиве.
Живая демонстрация: http://jsfiddle.net/simevidas/5Gdfc/
Вероятно, вы хотите использовать это так:
if ( $.inArray('specialword', arr) > -1 ) {
    // the value is in the array
}
		Вы можете использовать цикл for:
var found = false;
for (var i = 0; i < categories.length && !found; i++) {
  if (categories[i] === "specialword") {
    found = true;
    break;
  }
}
		Мне не нравится $.inArray(..), это своего рода уродливое, jQuery-ish решение, которое большинство здравомыслящих людей не потерпит. Вот фрагмент, который добавляет простой contains(str) метод в ваш арсенал:
$.fn.contains = function (target) {
  var result = null;
  $(this).each(function (index, item) {
    if (item === target) {
      result = item;
    }
  });
  return result ? result : false;
}
Аналогично, вы можете обернуть $.inArray в расширение:
$.fn.contains = function (target) {
  return ($.inArray(target, this) > -1);
}