這應該能夠做到的是以二維數組填充一個字母值並返回所有共享值的數組。這是我到目前爲止有:Javascript:在多個陣列中查找共享值
var res = array[0].filter(function(x){
return array.every(function(y){
return y.indexOf(x) >= 0
})
});
return res;
這是某種形式的工作狀態,但只有特定條件,這使得它非常碰運氣下。 按預期運行:
var array = [["x","x"],
["x","x","x"]];
這將返回的預期陣列[ 「X」, 「X」]但是,當像這樣:
var array = [["x","x","x"],
["x","x"]];
它返回[ 「X」, 「X」, 「x」]
正如你所看到的,兩個數組只能共享2個常見的x,但是代碼並不能在不同的情況下反映出來。此外,它應該能夠處理與其他字母排列,像這樣:
var array = [["x","x","z","y","y"],
["x,"x","x","y"],
["x","x","z","y"]];
像這樣的東西,它應該返回[「X」,「X」,「Y」]作爲所有陣列共用2個普通X和1常見y
所以,你想,你可以在陣列任意數量的傳球,然後拿回共同的價值觀,無論指數函數? – adeneo
第三個數組中沒有'y'。 – void
是的,我沒有清楚說明如何設置示例,但是 –