如何根据数组的值过滤阵列阵列

如何根据数组的值过滤阵列阵列

问题描述:

我有两个阵列playerMovesmovesList。喜欢这个。
如何根据数组的值过滤阵列阵列

var playerMoves= [4, 6]; 
var movesList= [[0,1,2],[0,3,6]]; 

我需要将movesList阵列,使得playerMoves阵列的值不应该存在的movesList每个阵列中进行过滤。

console.log(move); 
// should return [0,1,2] 

我尝试

var playerMoves= [4, 6]; 
var movesList= [[0,1,2],[0,3,6]]; 
var move = movesList.filter(v => v.filter(c => { 
    return playerMoves.indexOf(c) === -1; 
})); 
console.log(move); 
+2

和发生了什么?它有用吗? – Neal

您可以使用Array#filterArray#everyArray#includes组合。

let playerMoves = [4, 6]; 
 
let movesList = [ 
 
    [0, 1, 2], 
 
    [0, 3, 6], 
 
    [5, 7, 9], 
 
]; 
 

 
let res = movesList.filter(v => v.every(c => !playerMoves.includes(c))); 
 

 
console.log(JSON.stringify(res));