2012-06-01 3 views
4

Я пытаюсь найти первый символ в массиве в JavaScript.JavaScript - Поиск первого символа в массиве

У меня есть эта случайная функция (не самый лучший, но я собираюсь улучшить его):

function random() { 
var Rand = Math.floor(Math.random()*myArray.length); 
document.getElementById('tr').innerHTML = myArray[Rand]; 
} 

А вот мой список массива.

myArray = ["where", "to", "get", "under", "over", "why"]; 

Если пользователь хочет только массивы с W-х, только слова с W в первом письме показано. (Как «где» или «почему»)

У меня нет опыта работы с JavaScript раньше, и я сижу с этой проблемой целую вечность.

ответ

6

Есть метод indexOf() метода массива/строки, который может предоставить вам положение буквы. Первая буква имеет позицию 0 (ноль), так

function filter(letter) { 
    var results = []; 
    var len = myArray.length; 
    for (var i = 0; i < len; i++) { 
    if (myArray[i].indexOf(letter) == 0) results.push(myArray[i]); 
    } 
    return results; 
} 

Вот jsFiddle для него. Перед запуском откройте консоль (Chrome: ctrl + shift + i или консоль в FireBug), чтобы увидеть результирующие массивы.

+2

может 'туАггау [я] [ 0] == Буква, вероятно, быстрее? – mistapink

+0

Вы должны запустить бенчмарк, так как он должен быть быстрее, потому что нет вызова функции. Хорошая точка зрения! :) –

+0

Спасибо! Теперь я просто добавил '