Как я получаю индекс объекта в массиве?

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

как я нахожу, каков индекс значения "банан"? (который, конечно, равняется "1").

спасибо

6
задан Justin Johnson 16 March 2010 в 21:53
поделиться

2 ответа

Как показано здесь: 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'

12
ответ дан 8 December 2019 в 14:42
поделиться

Нет встроенного свойства для возврата индекса конкретного элемента. Если вам нужна функция, то вы можете использовать функцию-прототип, определенную durilai. Но если вам просто нужно найти индекс, вы можете использовать этот простой блок кода для возврата значения:

for (var i=0; i<fruits.length; i++)
{
  if (fruits[i] == "banana")
  {
    alert(i);
  }
}
4
ответ дан 8 December 2019 в 14:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: