jQuery比较两个数组?

jQuery比较两个数组?,jquery,html,arrays,compare,Jquery,Html,Arrays,Compare,我有一个数组,我想创建另一个新数组,这些值是从HTML本身提取的,然后我想比较这两个值并输出匹配值 要比较的现有阵列: var designersArrSelected = ["Von Blan","Foo Can","Diane con Fursternberg","BCBG MAX Azria"]; 我的HTML <ul id="seasonsDropDown"> <li data-season="FALL 2013 HAUTE COUTURE">FALL 20

我有一个数组,我想创建另一个新数组,这些值是从HTML本身提取的,然后我想比较这两个值并输出匹配值

要比较的现有阵列:

var designersArrSelected = ["Von Blan","Foo Can","Diane con Fursternberg","BCBG MAX Azria"];
我的HTML

<ul id="seasonsDropDown">
  <li data-season="FALL 2013 HAUTE COUTURE">FALL 2013 HAUTE COUTURE
    <ul class="designers">
      <li data-designer="Alexander Wang">Alexander Wang</li>
      <li data-designer="BCBG MAX Azria">BCBG MAX Azria</li>
      <li data-designer="Diane con Fursternberg">Diane con Fursternberg</li>
      <li data-designer="Diane Von De">Diane Von De</li>
    </ul>
 </li>
</ul>
根据我的示例,结果应该选择“Diane con Fursternberg”和“BCBG MAX Azria”,因为有两个匹配项,但是我应该如何比较两个数组的相同值

这是钢笔:

尝试使用
$。inArray
。您可以按如下方式使用它:

var found = $.inArray('pattern', stringToBeSearched) > -1;

结果是一个数字,指示您要查找的模式在字符串中的起始位置。
-1
会让您知道要搜索的字符串中没有这样的模式。

尝试使用
$。inArray
。您可以像这样使用它:

var found = $.inArray('pattern', stringToBeSearched) > -1;

结果是一个数字,指示您要查找的模式在字符串中的起始位置。
-1
会让您知道要搜索的字符串中没有这样的模式。

尝试使用
$。inArray
。您可以像这样使用它:

var found = $.inArray('pattern', stringToBeSearched) > -1;

结果是一个数字,指示您要查找的模式在字符串中的起始位置。
-1
会让您知道要搜索的字符串中没有这样的模式。

尝试使用
$。inArray
。您可以像这样使用它:

var found = $.inArray('pattern', stringToBeSearched) > -1;

结果是一个数字,指示您要查找的模式在字符串中的起始位置。
-1
会让您知道在要搜索的字符串中没有这样的模式。

如果您想用老式的for循环方式进行搜索,下面是我在这里学到的一些代码:。在每个字符串中都有一个If条件,您可以为打不到比赛。可能不是最有效的,但它有效

小提琴:

var designersarall=[];
var designersArrSelected=[“冯·布朗”、“福康”、“黛安·康弗斯特恩伯格”、“BCBG马克斯·阿兹里亚”];
var i=0;
$(“.designers>li”)。每个(函数(){
DesignerArrall[i++]=$(this.attr(“数据设计器”);
});
$(“.designers>li”)。每个(函数(){
设计器=$(this.attr(“数据设计器”);
designersArrAll[i++]=设计师;
如果(包含(designersArrSelected,designer)){
//在这里做点什么
$(this.css('background','yellow');
}
});
函数包含(a,obj){
对于(变量i=0;i
如果您想使用老式的for循环方式,下面是我在这里学到的一些代码:。在每个代码中都有一个If条件,您可以在匹配项被命中时对元素进行样式设置。可能不是最有效的,但它可以工作

小提琴:

var designersarall=[];
var designersArrSelected=[“冯·布朗”、“福康”、“黛安·康弗斯特恩伯格”、“BCBG马克斯·阿兹里亚”];
var i=0;
$(“.designers>li”)。每个(函数(){
DesignerArrall[i++]=$(this.attr(“数据设计器”);
});
$(“.designers>li”)。每个(函数(){
设计器=$(this.attr(“数据设计器”);
designersArrAll[i++]=设计师;
如果(包含(designersArrSelected,designer)){
//在这里做点什么
$(this.css('background','yellow');
}
});
函数包含(a,obj){
对于(变量i=0;i
如果您想使用老式的for循环方式,下面是我在这里学到的一些代码:。在每个代码中都有一个If条件,您可以在匹配项被命中时对元素进行样式设置。可能不是最有效的,但它可以工作

小提琴:

var designersarall=[];
var designersArrSelected=[“冯·布朗”、“福康”、“黛安·康弗斯特恩伯格”、“BCBG马克斯·阿兹里亚”];
var i=0;
$(“.designers>li”)。每个(函数(){
DesignerArrall[i++]=$(this.attr(“数据设计器”);
});
$(“.designers>li”)。每个(函数(){
设计器=$(this.attr(“数据设计器”);
designersArrAll[i++]=设计师;
如果(包含(designersArrSelected,designer)){
//在这里做点什么
$(this.css('background','yellow');
}
});
函数包含(a,obj){
对于(变量i=0;i
如果您想使用老式的for循环方式,下面是我在这里学到的一些代码:。在每个代码中都有一个If条件,您可以在匹配项被命中时对元素进行样式设置。可能不是最有效的,但它可以工作

小提琴:

var designersarall=[];
var designersArrSelected=[“冯·布朗”、“福康”、“黛安·康弗斯特恩伯格”、“BCBG马克斯·阿兹里亚”];
var i=0;
$(“.designers>li”)。每个(函数(){
DesignerArrall[i++]=$(this.attr(“数据设计器”);
});
$(“.designers>li”)。每个(函数(){
设计器=$(this.attr(“数据设计器”);
designersArrAll[i++]=设计师;
如果(包含(designersArrSelected,designer)){
//在这里做点什么
$(this.css('background','yellow');
}
});
函数包含(a,obj){
对于(变量i=0;i
您可以这样做,而不必使用循环来生成
DesignerArrall
数组

var designersArrAll = $.map( $('.designers > li'), function(el){
  return $(el).data('designer');
});

至于比较两个数组,您可以使用此问题上的代码:

您可以这样做,而不是循环您必须制作
DesignerArrall
数组

var designersArrAll = $.map( $('.designers > li'), function(el){
  return $(el).data('designer');
});

至于比较两个数组,您可以使用关于这个问题的代码:

您可以这样做,而不必进行循环