如何解决使用.includes查找子数组
我有一个要搜索的元素,其格式为[numOne,numTwo]。我希望能够搜索一个名为moveTaken的数组,找到两个元素。
让我们假设:
let numOne = 0;
let numTwo = 1;
let movesTaken = [[0,1],[5,8],[3,2],[4,7],[8,3],[9,4],[1,9],43],[23,6]];
我试图做的是通过使用以下代码使用.includes()实现真值或假值
movesTaken.includes([numOne,numTwo]);
我也尝试过
movesTaken.includes([0,1]);
这两个选项似乎都不起作用,仅输出false,我将如何测试数组中是否存在这些选项?这会让我别无选择,只能使用for循环遍历每个单独的子数组及其各自的值吗?
解决方法
some()
方法测试数组中的至少一个元素是否通过了由提供的函数实现的测试。它返回一个布尔值。
every()
方法测试数组中的所有元素是否通过提供的函数实现的测试。它返回一个布尔值。
我认为您可以使用类似的东西
let array = [0,1];
let movesTaken = [[0,1],[5,8],[3,2],[4,7],[8,3],[9,4],[1,9],43],[23,6]];
let check = movesTaken.some(a => array.every((v,i) => v === a[i]));
console.log(check);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。