Если вы не используете последовательно пронумерованные элементы, вам придется перебрать, пока не попал в первый:
var firstIndex = 0;
while (firstIndex < myarray.length && myarray[firstIndex] === undefined) {
firstIndex++;
}
if (firstIndex < myarray.length) {
var firstElement = myarray[firstIndex];
} else {
// no elements.
}
или какой-то то же самое глупое конструкцию. Это дает вам индекс первого элемента, который вам может или не нужно.
Если это то, что вам нужно делать часто, вы должны сохранить ссылку на текущий первый действительный индекс, так что это становится операцией O (1) вместо O (n) каждый раз. Если вам часто требуется итерация по действительно разреженному массиву, рассмотрите другую структуру данных, например, поддерживая объект рядом с ним, который возвращает исходные данные в индексы или что-то, что соответствует вашим данным.
Что вы используете в качестве индекса массива тогда? –