使用 .includes 查找子数组
Using .includes to find sub-array
我有一个元素要以 [numOne, numTwo] 的格式搜索。我希望能够搜索一个名为 movesTaken 的数组,找到这个元素。
让我们假设:
let numOne = 0;
let numTwo = 1;
let movesTaken = [[0,1],[5,8],[3,2],[4,7],[8,3],[9,8],[5,4],[1,1],[4,4],[3,9],[1,43],[23,6]];
我尝试做的是通过以下代码使用 .includes() 来获得真值或假值
movesTaken.includes([numOne,numTwo]);
我也试过
movesTaken.includes([0,1]);
这些选项似乎都不起作用并且只输出 false,我将如何测试数组中是否存在这些选项?这会让我别无选择,只能使用 for 循环遍历每个单独的子数组及其各自的值吗?
some()
方法测试数组中是否至少有一个元素通过提供的函数实现的测试。它 returns 一个布尔值。
every()
方法测试数组中的所有元素是否通过提供的函数实现的测试。它 returns 一个布尔值。
我想你可以用这样的东西
let array = [0, 1];
let movesTaken = [[0,1],[5,8],[3,2],[4,7],[8,3],[9,8],[5,4],[1,1],[4,4],[3,9],[1,43],[23,6]];
let check = movesTaken.some(a => array.every((v, i) => v === a[i]));
console.log(check);
我有一个元素要以 [numOne, numTwo] 的格式搜索。我希望能够搜索一个名为 movesTaken 的数组,找到这个元素。
让我们假设:
let numOne = 0;
let numTwo = 1;
let movesTaken = [[0,1],[5,8],[3,2],[4,7],[8,3],[9,8],[5,4],[1,1],[4,4],[3,9],[1,43],[23,6]];
我尝试做的是通过以下代码使用 .includes() 来获得真值或假值
movesTaken.includes([numOne,numTwo]);
我也试过
movesTaken.includes([0,1]);
这些选项似乎都不起作用并且只输出 false,我将如何测试数组中是否存在这些选项?这会让我别无选择,只能使用 for 循环遍历每个单独的子数组及其各自的值吗?
some()
方法测试数组中是否至少有一个元素通过提供的函数实现的测试。它 returns 一个布尔值。
every()
方法测试数组中的所有元素是否通过提供的函数实现的测试。它 returns 一个布尔值。
我想你可以用这样的东西
let array = [0, 1];
let movesTaken = [[0,1],[5,8],[3,2],[4,7],[8,3],[9,8],[5,4],[1,1],[4,4],[3,9],[1,43],[23,6]];
let check = movesTaken.some(a => array.every((v, i) => v === a[i]));
console.log(check);