gpt4 book ai didi

javascript - 比较和匹配两个对象列表时防止结果列表重复

转载 作者:行者123 更新时间:2023-11-27 23:49:03 25 4
gpt4 key购买 nike

我在 javascript 中比较两个对象,如果匹配则将颜色设置为红色,如果不匹配则保持黑色。但是,它返回两行信息而不是一行。

在下面的结果中,我希望看到前两个元素为红色,最后一个为黑色。但是它返回并写入两行,而不是一行。

$.each(aut.AssociatedwellList, function(k,mano) { 
$.each(aut.WellList, function(j,mango) {
if(mano.WellName === mango.WellName) {
wellNameList += '<li style="color:red;"><div>'+ mango.WellName+'</div></li>';
} else {
wellNameList += '<li ><div>'+ mango.WellName+'</div></li>';
}
});
});

最佳答案

您没有正确使用嵌套循环。您可以使用数组 .some()查看“井列表”中的哪些条目也在“关联井列表”中的方法(这是我认为您正在尝试做的):

        $.each(aut.WellList, function(k,mano){
if(aut.AssociatedwellList.some(function(w) { return w.WellName === mano.WellName; }))
{
wellNameList += '<li style="color:red;"><div>'+ mano.WellName+'</div></li>';
}
else
{
wellNameList += '<li ><div>'+ mano.WellName+'</div></li>';
}
});

Updated jsfiddle

(请注意,这个问题与比较操作本身没有任何关系。问题是内部循环总是向列表中添加一个 <li>。)

关于javascript - 比较和匹配两个对象列表时防止结果列表重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com