例えばデフォルトの配列があります
a=["and","a","in","&"] etc...
動的テキストを取得すると、それは配列に変換されます。例えば。
b=["harry","in","connect"]
私は配列の中に入るのを避けて強調する必要があります。
それで、ハリーとコネクトはハイライトされますが、インはされませんか?
jqueryで配列を比較または確認するにはどうすればいいですか?
回答:
回答№1は2あなたは使うことができます $.inArray
または $.grep
、すなわち
var a=["and","a","in","&"];
var b=["harry","in","connect"];
var c = $.grep(b, function(n){
return $.inArray(n,a) == -1;
});
これは、arrayに存在しない単語のみを含む新しい配列を返します。 a
ここでは、 http://jsfiddle.net/kaFvw/
配列にPRESENTというすべての単語を含む配列を返す必要がある場合 a
、ちょうど ==
オペレータ !=
回答№2の場合は1
$.each(b, function(c,d) {
if (d == "in") //do not highlight
});
回答№3の場合は1
あなたはjquery.eachを使うことができます。
jQuery.each(b, function() {
// "this" will hold value . you can do your operation here
if(this!="in")
{
//heighlight
}
});
詳細を見つけることができます ここに
回答№4の場合は0
このようなことをする。
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;
}
});
回答№5の場合は0
私が正しく理解したならば、あなたは最初のものによって含まれていない2番目の配列のすべての要素を強調表示したいです。もしそうであれば、このようなものでうまくいくはずです。
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]
}
}