2010-11-04 3 views
1

У меня возникла проблема с получением индекса, если в массиве есть несколько похожих слов, но с другой позицией индекса, и когда я выбираю одно из слов, индекс, который я получаю, не из слов, а из которого я выбираю то же самое слово в предыдущей позицииКак получить индекс массива в javascript

, например, у меня есть предложение:

урожая процесс сбора

смелое слово это слово, которое я выберите ..

это мой код:

var str = "The Harvest is the process of gathering"; 
var myArray = str.split (""); 
var Select = "the"; 

и у меня есть функция, как это:

function getIndex (arrayItem, item) { 
    for (var x = 0; x <arrayItem.length; x + +) { 
    if (arrayItem [x] == item) { 
    return x; 
    } 
    } 
    return -1; 
    } 

var idx = getIndex (myArray, Select); 

как получить этот индекс?

ответ

5

Вы могли бы хотеть, чтобы избежать этого в целом и использовать indexOf метод в String объекта:

var str = "The Harvest is the process of gathering"; 
var idx = str.indexOf('the'); 
0

Просто подчеркнуть, исправить одну строку в коде, и вы должны получить то, что вы ищете

var myArray = str.split (""); // вместо того, чтобы разбивать его по символу, разделите его на пробелы. Это должно привести к правильному результату. В ваших кавычках нет места, следовательно, результаты, которые вы получаете.

Check out code here. Удостоверьтесь, что у него есть firebug, чтобы увидеть результаты.

Смежные вопросы