针对单个阵列检查多维数组的内容

时间:2017-09-06 22:13:47

标签: javascript

我正在尝试检查多维数组(arrs)中数组(arr1,arr2,arr3 ...)的所有元素是否与给定数组(randomArr)中的所有元素都匹配长度。这是我到目前为止所提出的:

^[0-9]+\|[0-9]+::1

但是当我尝试运行它时,我得到了这个错误(检测到无限循环(或循环时间过长),所以我们停止执行。)。我怎样才能做到这一点?

2 个答案:

答案 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。