Удалить элементы из массива с соединением для цикла

Я хочу реализовать своего рода живой поиск jQuery. Но перед отправкой ввода на сервер яЯ хотел бы удалить все элементы в моем массиве, которые имеют 3 или менее символов (потому что в немецком языке эти слова обычно можно игнорировать с точки зрения поиска).["this", "is", "a", "test"] становится["this", "test"]

$(document).ready(function() {
var timer, searchInput;
$('#searchFAQ').keyup(function() {
    clearTimeout(timer);
    timer = setTimeout(function() {
        searchInput = $('#searchFAQ').val().match(/\w+/g);
        if(searchInput) {
            for (var elem in searchInput) {
                if (searchInput[elem].length < 4) {
                    //remove those entries
                    searchInput.splice(elem, 1);
                }
            }
            $('#output').text(searchInput);
            //ajax call here
        }
    }, 500);
});
});

Теперь моя проблема в том, что не все элементы удаляются в моем цикле for. Если я например наберу "Это тест" "является" удаляется, "а" остается.JSFIDDLE

Я думаю, что проблема в цикле for, потому что индексы массива меняются, если я удаляю элемент со сращиванием, поэтому он продолжается с "неправильно" индекс.

Может быть, кто-нибудь может мне помочь?

Ответы на вопрос(4)

Ваш ответ на вопрос