Question: Is there a function in javascript to do this - test if a given value (a string in my case) exists in an array (of strings)? I know I could just loop over each value, but I'm wondering if js has a shorthand for this.

Answer: 
There's [`.indexOf()`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf) for this, but IE<9 doesn't support it:

```
if(array.indexOf("mystring") > -1) {
  //found
}

```

From the same [MDC documentation page](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf#Compatibility), here's what to include (before using) to make IE work as well:

```
if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length >>> 0;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

```

`.indexOf()` returns the index in the array the string was found at, or `-1` if it wasn't found.
For functions that are in php and should be in javascript or I haven't found yet I go to: <http://phpjs.org>

The function you want use if you're just using javascript is in\_array here: <http://phpjs.org/functions/in_array:432>

Otherwise, use the jQuery solution on this page.