Tengo una serie de cadenas en jQuery. Tengo otra matriz de palabras clave que quiero usar para filtrar la matriz de cadenas.¿Cómo tomo una serie de cadenas y las filtro?
Mis dos matrices:
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");
Cómo puedo filtrar la matriz arr
utilizando la matriz keywords
en jQuery? En esta situación, se filtraría "Sally funciona en Taco Bell" y se quedará con el resto.
A continuación se muestra el código real que estoy usando.
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);
}
Todo el propósito de esto es permitir que el usuario filtre los resultados del registro. Por lo tanto, el usuario realiza una acción que inicia startTail()
y $.getJSON()
recupera un objeto JSON creado por una función de PHP e imprime los resultados. Funciona perfectamente. Ahora quiero dar al usuario la opción de filtrar los elementos de seguimiento entrantes. El usuario hace clic en un botón de filtro y jQuery toma el texto del filtro y lo agrega a la matriz keywords
, luego data.log
del objeto JSON se filtra usando la matriz keywords
y luego se agrega a la pantalla.
También tengo una función de filtro de eliminación que no está funcionando. Quizás alguien pueda ayudarme con eso.
añadido la etiqueta Javascript, ya que esta es una cuestión Javascript (jQuery es una biblioteca de Javascript).Por cierto, esas matrices no parecen ser matrices de Javascript ... – kapa
También eliminé la etiqueta jQuery ya que la pregunta no tiene nada que ver con eso. Además, @bazmegakapa tiene razón. Esas no son matrices de JavaScript válidas. Eso se parece a las matrices de PHP. En JavaScript, simplemente use los corchetes: 'var arr = [1, 2, 3]' –
Tiene razón. Lo siento ... el programa que escribí utiliza una combinación de jQuery, Javascript, PHP y HTML. Simplemente se ha mezclado un poco. – amlane86