Javascript 仅将两个数组合并为公共值

Javascript 仅将两个数组合并为公共值,javascript,arrays,json,merge,Javascript,Arrays,Json,Merge,我看了这个非常流行的问题: 如果OP有以下内容: var array1 = ["Vijendra","Singh"]; var array2 = ["Singh", "Shakya"]; 然后他说,“我希望输出是: 我的问题是“你是如何让辛格得到这个结果的?” var array3 = ["Singh"]; 换句话说,如何组合两个数组并只保留两个数组共用的数据?我已经查看了merge、concat、intersect和其他选项,但我似乎无法获得这些选项。您可以从第二个数组

我看了这个非常流行的问题:

如果OP有以下内容:

   var array1 = ["Vijendra","Singh"];
   var array2 = ["Singh", "Shakya"];
然后他说,“我希望输出是:

我的问题是“你是如何让辛格得到这个结果的?”

   var array3 = ["Singh"];

换句话说,如何组合两个数组并只保留两个数组共用的数据?我已经查看了merge、concat、intersect和其他选项,但我似乎无法获得这些选项。

您可以从第二个
数组2
中也存在的元素中筛选第一个数组
array1

var array1=[“Vijendra”,“Singh”],
array2=[“辛格”、“沙基亚”],
res=array1.filter(v=>array2.indexOf(v)>-1);

控制台日志(res)谢谢。显然,这个问题是个骗局,但我发现“合并两个数组”比“数组相交”更直观,我没有找到其他帖子。您的方法有效。@SQLDBA我很乐意
   var array3 = ["Singh"];