Показать сообщение отдельно
  #6 (permalink)  
Старый 02.01.2014, 23:57
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Можно ещё сдвинуть нужные элементы в начало массива и обрезать его

function deleteEmpty(arr)
{
    var n = arr.length, k = 0;

    for (var i = 0; i < n; i++)
     { if (arr[i] !== undefined) arr[k++] = arr[i]; }

    arr.length = k;

    return arr;
}

alert( deleteEmpty([,,,44,33,,'DAaaa']) );

P.S. Надо потестировать, что быстрей удаляет. Обычно filter медленнее.
Ответить с цитированием