Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the index of an item in an array?

var fruits = [ 'apple', 'banana', 'orange' ];

how do I find what index of the value "banana" is? (which, of course, is "1").

thanks

like image 508
jesse Avatar asked Mar 16 '10 20:03

jesse


2 Answers

As shown here: https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/IndexOf

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;
  };
}

Usage:

var fruits = [ 'apple', 'banana', 'orange' ];
var index = fruits.indexOf('banana');

Will return '1'

like image 54
Dustin Laine Avatar answered Sep 22 '22 02:09

Dustin Laine


There is no built-in property to return the index of a particular item. If you need a function then you can use the prototype function as defined by durilai. But if you just need to find the index you can use this simple code block to return the value:

for (var i=0; i<fruits.length; i++)
{
  if (fruits[i] == "banana")
  {
    alert(i);
  }
}
like image 44
Peter Jacoby Avatar answered Sep 18 '22 02:09

Peter Jacoby