Javascript 如何在Jquery/Js中匹配2个数组的值
我有两个列表如果一个list2值等于list1值,那么我想用匹配的值向HTML选项添加一个类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”
//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);
});