Как взять массив строк и отфильтровать их?

У меня есть массив строк в jQuery. У меня есть еще один массив ключевых слов, которые я хочу использовать для фильтрации массива строк.

Мои два массива:

    var arr = new Array("Sally works at Taco Bell", "Tom drives a red car", "Tom is from Ohio", "Alex is from Ohio");

    var keywords = new Array("Tom", "Ohio");

Как я могу фильтровать массив arr, используя массив keywords в jQuery? В данной ситуации это отфильтрует "Sally works at Taco Bell" и оставит остальные.

Ниже приведен фактический код, который я использую.

var keywords= [];
var interval = "";
var pointer = '';
var scroll = document.getElementById("tail_print");

$("#filter_button").click(
function(){
    var id = $("#filter_box").val(); 
    if(id == "--Text--" || id == ""){
        alert("Please enter text before searching.");
    }else{
        keywords.push(id);
        $("#keywords-row").append("<td><img src=\"images/delete.png\" class=\"delete_filter\" /> " + id + "</td>");
    }
}
);

$(".delete_filter").click(
function(){
   ($(this)).remove(); 
}
);

function startTail(){
clearInterval(interval);
interval = setInterval(
function(){
    $.getJSON("ajax.php?function=tail&pointer=" + pointer + "&nocache=" + new Date(),
        function(data){
            pointer = data.pointer;
            $("#tail_print").append(data.log);
            scroll.scrollTop = scroll.scrollHeight;
        });
}, 1000);
}

Вся цель этого заключается в том, чтобы позволить пользователю фильтровать результаты журнала. Пользователь выполняет действие, которое запускает startTail(), а $.getJSON() извлекает объект JSON, который строится функцией PHP, и печатает результаты. Работает безупречно. Теперь я хочу дать пользователю возможность фильтровать входящие элементы хвоста. Пользователь нажимает кнопку фильтра, jQuery берет текст фильтра и добавляет его в массив keywords, затем data.log из объекта JSON фильтруется с помощью массива keywords и затем добавляется на экран.

У меня также не работает функция удаления фильтра. Может быть, кто-нибудь сможет помочь мне с этим.

5
задан amlane86 12 January 2012 в 19:21
поделиться