如何获取数组中项的索引?

时间:2010-03-16 20:45:48

标签: javascript arrays indexing

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

如何找到值“banana”的索引是什么? (当然,这是“1”)。

感谢

2 个答案:

答案 0 :(得分:12)

如下所示: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;
  };
}

用法:

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

将返回'1'

答案 1 :(得分:4)

没有内置属性可以返回特定项的索引。如果您需要一个函数,那么您可以使用durilai定义的原型函数。但是如果你只需要找到索引,就可以使用这个简单的代码块来返回值:

for (var i=0; i<fruits.length; i++)
{
  if (fruits[i] == "banana")
  {
    alert(i);
  }
}