我正在尝试检查多维数组(arrs)中数组(arr1,arr2,arr3 ...)的所有元素是否与给定数组(randomArr)中的所有元素都匹配长度。这是我到目前为止所提出的:
^[0-9]+\|[0-9]+::1
但是当我尝试运行它时,我得到了这个错误(检测到无限循环(或循环时间过长),所以我们停止执行。)。我怎样才能做到这一点?
答案 0 :(得分:0)
我会这样做:
var winning = [win1, win2, win3, win4, win5, win6, win7, win8],
xScore = 0,
oScore = 0,
scored = false,
xMarkedStr = xMarked.sort().join(''),
oMarkedStr = oMarked.sort().join('');
winning.some(win => {
var winStr = win.join('');
if (xMarkedStr === winStr) {
xScore++;
scored = true;
}
if (oMarkedStr === winStr) {
oScore++;
scored = true;
}
return scored;
});
console.log(xScore, oScore);
答案 1 :(得分:0)
我找到了一种方法来检查单个数组的avery元素是否在另一个数组中。这是解决方案:
function check(superset,subset){
return subset.every(function(val){
return (superset.indexOf(val)>=0);
})
}
在这里,您将检查子集中的所有值是否都存在于超集中。如果子集中的某个项目不存在,则它的索引将为-1,因此该函数将返回false。