/ Ako skontrolovať slovo v poli - jquery, polia

Ako skontrolovať slovo v poli - jquery, polia

Mám predvolené pole napríklad

a=["and","a","in","&"] etc...

Dostávam dynamický text, ktorý ho konvertuje na pole. napríklad.

b=["harry","in","connect"]

Musím zdôrazniť, že sa vyhýbam "v" poľa.

Takže harry a pripojenie bude zvýraznené, ale nie v?

Ako porovnávať alebo kontrolovať pole v jquery?

odpovede:

2 pre odpoveď č. 1

môžeš použiť $.inArray alebo $.grep, t.j.

var a=["and","a","in","&"];
var b=["harry","in","connect"];

var c = $.grep(b, function(n){
return $.inArray(n,a) == -1;
});

Tým sa vráti nové pole obsahujúce iba slová, ktoré sa v poli nevyskytujú a

Tu je husle: http://jsfiddle.net/kaFvw/

Ak to potrebujete, vrátite pole so všetkými slovami PRESENT v poli a, stačí zmeniť == operátora do !=


1 pre odpoveď č. 2
 $.each(b, function(c,d) {
if (d == "in") //do not highlight
});

1 pre odpoveď č. 3

Môžete použiť jquery.each.

     jQuery.each(b, function() {
// "this" will hold value . you can do your operation here
if(this!="in")
{
//heighlight
}
});

Viac podrobností nájdete Tu


0 pre odpoveď č. 4

urobte niečo také;

a=["and","a","in","&"]
b=["harry","in","connect"]
var foo;
$.each(b, function() {
if(Query.inArray(this, a)!=-1)
{
foo += "<strong>" + this + "</strong>";
}
else{
foo += this;
}
});

0 pre odpoveď č. 5

Ak som správne pochopil, chcete vyzdvihnúť všetky prvky v druhom poli, ktoré nie sú obsiahnuté v prvom poli. Ak je to tak, tak by to malo fungovať:

for(var i=0,l=b.length;i<l;i++)
{
if(a.indexOf(b[i]) == -1)
{
// highlight b[i]
}
else
{
// do no highlight b[i]
}
}