Javascript 如何在Jquery/Js中匹配2个数组的值

Javascript 如何在Jquery/Js中匹配2个数组的值,javascript,jquery,Javascript,Jquery,我有两个列表如果一个list2值等于list1值,那么我想用匹配的值向HTML选项添加一个类 //var list1=$('select#workers option').toArray().map(item=>item.value); 清单1=[“19”、“78”、“73”、“26”、“79”、“93”、“63”、“70”、“82”、“60”、“42”、“90”、“91”、“84”、“92”、“64”、“1”、“83”、“85”、“61”、“21”、“45”]; 清单2=[“93”、“78”

我有两个列表如果一个list2值等于list1值,那么我想用匹配的值向HTML选项添加一个类

//var list1=$('select#workers option').toArray().map(item=>item.value);
清单1=[“19”、“78”、“73”、“26”、“79”、“93”、“63”、“70”、“82”、“60”、“42”、“90”、“91”、“84”、“92”、“64”、“1”、“83”、“85”、“61”、“21”、“45”];
清单2=[“93”、“78”、“91”、“60”、“83”、“90”、“84”、“79”、“82”、“42”];
$.each(列表1,函数(索引,值){
var list1val=价值;
$.each(列表2,函数(索引,值){
var list2val=值;
if(list1val==list2val){
//$('select#workers option')。addClass('green');
log('addclass');
}
else{$('select#workers option').addClass('red');}
});
});

管理
艾伦
艾利斯特
安得烈
克里斯
克莱顿
戴尔·莫科姆
大卫
院长
迪诺
德鲁
加布里埃尔
授予
杰里米·比斯顿
罗尔夫
约翰逊
卢克
马特
米歇尔
游戏安全
蠕动的
斯图尔特

使用属性选择器:

$("select#workers option[value='" + list1val + "']").addClass("green");

使用属性选择器:

$("select#workers option[value='" + list1val + "']").addClass("green");

尝试根据属性
值添加类

list1=[“19”、“78”、“73”、“26”、“79”、“93”、“63”、“70”、“82”、“60”、“42”、“90”、“91”、“84”、“92”、“64”、“1”、“83”、“85”、“61”、“21”、“45”];
清单2=[“93”、“78”、“91”、“60”、“83”、“90”、“84”、“79”、“82”、“42”];
$.each(列表1,函数(索引,值){
var list1val=价值;
$.each(列表2,函数(索引,值){
var list2val=值;
if(list1val==list2val){
$('select#workers option[value='+list2val+']')。addClass('green');
log('addclass');
}
否则{
$('select#workers option[value='+list2val+']')。addClass('red');
}
});
});

管理
艾伦
艾利斯特
安得烈
克里斯
克莱顿
戴尔·莫科姆
大卫
院长
迪诺
德鲁
加布里埃尔
授予
杰里米·比斯顿
罗尔夫
约翰逊
卢克
马特
米歇尔
游戏安全
蠕动的
斯图尔特

尝试根据属性
值添加类

list1=[“19”、“78”、“73”、“26”、“79”、“93”、“63”、“70”、“82”、“60”、“42”、“90”、“91”、“84”、“92”、“64”、“1”、“83”、“85”、“61”、“21”、“45”];
清单2=[“93”、“78”、“91”、“60”、“83”、“90”、“84”、“79”、“82”、“42”];
$.each(列表1,函数(索引,值){
var list1val=价值;
$.each(列表2,函数(索引,值){
var list2val=值;
if(list1val==list2val){
$('select#workers option[value='+list2val+']')。addClass('green');
log('addclass');
}
否则{
$('select#workers option[value='+list2val+']')。addClass('red');
}
});
});

管理
艾伦
艾利斯特
安得烈
克里斯
克莱顿
戴尔·莫科姆
大卫
院长
迪诺
德鲁
加布里埃尔
授予
杰里米·比斯顿
罗尔夫
约翰逊
卢克
马特
米歇尔
游戏安全
蠕动的
斯图尔特

尝试首先以O(n+m)时间复杂度而不是嵌套循环O(n^2)获取匹配列表


然后,您可以通过添加类来使用匹配项高亮显示,尝试首先以O(n+m)时间复杂度而不是嵌套循环O(n^2)获取匹配项列表

然后,您可以通过添加类来使用匹配突出显示

list1 = ["19", "78", "73", "26", "79", "93", "63", "70", "82", "60", "42", "90", "91", "84", "92", "64", "1", "83", "85", "61", "21", "45"];
    list2=  ["93", "78", "91", "60", "83", "90", "84", "79", "82", "42"];

    var found = list1.find(function(element) {

            for(var i = list2.length; i--;) {

                 if(list2[i] === element)
                      console.log(true);
                }
       console.log(false);
    });
试试这个

list1 = ["19", "78", "73", "26", "79", "93", "63", "70", "82", "60", "42", "90", "91", "84", "92", "64", "1", "83", "85", "61", "21", "45"];
    list2=  ["93", "78", "91", "60", "83", "90", "84", "79", "82", "42"];

    var found = list1.find(function(element) {

            for(var i = list2.length; i--;) {

                 if(list2[i] === element)
                      console.log(true);
                }
       console.log(false);
    });