JQuery удалить значение из массива, если содержит слово

0

Я работаю с API карт google, и я хочу использовать jQuery в качестве фильтра для удаления местоположений из его данных местоположения

поэтому, если пользователь нажимает на фильтр english, тогда jquery будет искать записи, которые не содержат в них английский, а затем, найдя их, он удалит [] вместе с его содержимым.

var LocationData = [
[-33.911187337771345,18.41437339782715,"<a class=english href=http://lang.beresponsive.net/blog/2013/09/10/hello-world/>Hello world!</a>","http://lang.beresponsive.net/wp-content/uploads/2013/11/Logo.png"],
[-33.95902344617683,18.481578826904297,"<a class=french href=http://lang.beresponsive.net/blog/2012/07/30/cu-vel-suas-interpretaris-no-qui-tantas-2/>Lightbox Image</a>","http://lang.beresponsive.net/wp-content/uploads/2013/11/Logo.png"],
 ]; 

Я думал что-то вроде

jQuery('.filter-eng').click(function(){
  //not sure what would go here to preform this. 
})
Теги:
google-maps-api-3

3 ответа

1

Просто сделайте это с помощью метода jQuery grep().

http://api.jquery.com/jQuery.grep/

var NewLocationData = $.grep(LocationData, function(val) { 
  return val[1].indexOf("english") === -1; 
});
  • 0
    Не могли бы вы предоставить пример, который работает только с текстом в примере jquery, который я пытаюсь удалить на основе текста в массиве
0

попробуйте что-то вроде этого:

for (x in LocationData) {
     $.grep(x, function(value) {
           return value.match("class=english") != null;
           },
           true);
}
0

Результат - это то, что вы хотите для данного примера.

var result = $.grep(LocationData, function(location) {
    return /english/i.test(location[2]);
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню