Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript从多个数组中检索公共值_Javascript_Typescript - Fatal编程技术网

使用JavaScript从多个数组中检索公共值

使用JavaScript从多个数组中检索公共值,javascript,typescript,Javascript,Typescript,从给定数组中检索公共值12 示例:输入类似: [ [12, 6],[12, 11, 9, 8, 1],[12, 11, 9, 8, 6, 1],[12, 11, 9, 8, 6, 1],[12, 11, 9, 8, 6, 1] ] 我的预期输出为: [12] 最基本的方法应如下所示: 伪代码: commonArray = clone(allArrays[0]) for i in 1, length(allArrays) do: removeIfNotExists(initialArr

从给定数组中检索公共值12

示例:输入类似:

[ [12, 6],[12, 11, 9, 8, 1],[12, 11, 9, 8, 6, 1],[12, 11, 9, 8, 6, 1],[12, 11, 9, 8, 6, 1] ]
我的预期输出为:

[12]

最基本的方法应如下所示:

伪代码:

commonArray = clone(allArrays[0])
for i in 1, length(allArrays) do:
    removeIfNotExists(initialArray, allArrays[i])
removeIfNotExists可以具有如下逻辑:

removeIfNotExists(commonArray, checkArray):
    for(index in commonArray):
        if(commonArray[index] not in checkArray):
            delete commonArray[index]
您基本上需要从检查数组中不存在的公共数组中删除每个元素。执行此操作n次将导致commonArray具有在所有数组中都通用的元素。

您可以使用and

var数组=[[12,6],[12,11,9,8,1],[12,11,9,8,6,1],[12,11,9,8,6,1],[12,11,9,8,6,1],
结果=数组.reduce((a,b)=>a.filter(c=>b.includes(c));

控制台日志(结果)
您可以展平数组,然后使用
reduce
方法计算每个项目的出现次数。然后循环遍历该对象,并使用出现率最高的元素更新变量

var x=[
[12, 6],
[12, 11, 9, 8, 1],
[12, 11, 9, 8, 6, 1],
[12, 11, 9, 8, 6, 1],
[12, 11, 9, 8, 6, 1]
]
//展平阵列并缩小为单个对象
var flatObj=[].concat.apply([],x).reduce(函数(a,b){
//具有相同密钥的对象更新计数或添加新密钥
a[b]=“未定义”==a[b]的类型?1:a[b]+1;
返回a;
},Object.create(null)),
最高值=0,
num,键;
//循环通过新创建的对象
用于(flatObj中的键){
使用值更新变量
flatObj[keys]>highestValue&(highestValue=flatObj[keys],num=keys);
}

console.log([Number(num)])
请解决我的问题
??所以这不是编码服务。你试过什么了吗?是的,我从早上开始就在试这个棘手的问题。你能解决这个问题吗?“你能解决这个问题吗?”不,谢谢,我今天很懒……为什么不把你试过的东西发出来,我们可以试着帮你。请参考链接了解更多关于如何提问的细节,并相应地更新你的问题。谢谢你,尼娜:-)