Javascript 如何在js中找到两个数组中的单个匹配值

Javascript 如何在js中找到两个数组中的单个匹配值,javascript,arrays,Javascript,Arrays,我有两个数组 var a = ["a","b","c","d"]; var b = ["c","d","f","k"]; 这是我的两个数组。现在我需要检查两个数组中的任何单个匹配值。在找到单个匹配值后,它应该会中断 我的预期结果是c和d匹配。您可以使用迭代其中一个数组,然后 或查找项目是否存在于第二个数组中: 变量a=[a,b,c,d]; 变量b=[c,d,f,k]; 函数findMatcharr1、arr2{ 返回arr1.findfunctionitem{ 返回arr2.indexO

我有两个数组

 var a = ["a","b","c","d"];
 var b = ["c","d","f","k"];
这是我的两个数组。现在我需要检查两个数组中的任何单个匹配值。在找到单个匹配值后,它应该会中断

我的预期结果是c和d匹配。

您可以使用迭代其中一个数组,然后 或查找项目是否存在于第二个数组中:

变量a=[a,b,c,d]; 变量b=[c,d,f,k]; 函数findMatcharr1、arr2{ 返回arr1.findfunctionitem{ 返回arr2.indexOfitem==-1; }; } var结果=findMatcha,b;
console.logresult 如果您只想知道是否存在重复内容,这将起作用:

 a.some(x => b.some(y => y === x));
如果内容重复,将为您提供真实信息

如果希望数组中的每个匹配内容

a.filter(x => b.some(y => x === y));

威尔给你[c',d']

你可以用以下方法来做

变量a=[a,b,c,d]; 变量b=[c,d,f,k]; 设ans=a.reducefunctionx,y{ ifx==null{ 如果b.indexOfy>-1{ 返回y; } } 返回x; },空;
洛根 我在第一个数组中循环一次,并检查第二个数组中每个值的索引

如果索引大于-1,则将其推送到返回的数组上

Array.prototype.diff=functionarr2{ var-ret=[]; 在这个{ ifarr2.indexOf this[i]>-1{ 再推这个[我]; } } 返回ret; }; var array1=[猫、和、乐、跑、屋]; var array2=[蝙蝠、猫、狗、太阳、小屋、内脏]; console.log array1.diffarray2 您可以使用filter和every来实现您想要的:

变量a=[a,b,c,d]; 变量b=[c,dx,f,k]; var isMatched=假; 结果=a.filterx=>{ b、 everys=>{return isMatched=s!==x}; };
console.log!不匹配;你期望得到什么结果?你试过什么?什么不起作用?c&d匹配。如果它在找到单个匹配值时中断,您会期望结果是c&d吗?为什么与Include一起使用,而不使用箭头函数来简化findMatcharr1.finditem=>arr2.includeItem;