匹配2个数组angularjs的内容

时间:2015-03-11 08:42:19

标签: javascript arrays angularjs kineticjs

我有以下内容的2个数组:

var answer = [[2,1],[1,1],[0,0]];
var selectedObject = [[1,1],[0,0],[2,1]];

我想匹配两个数组的内容。 _.Equals在上述情况下对我不起作用。因为相同的内容在数组中不在同一位置。

是否有任何简单的方法来匹配上述数组的内容。

任何演示代码,示例或逻辑都会有所帮助。

3 个答案:

答案 0 :(得分:0)

试试这种方式

var baz = [];

angular.forEach(answer, function(key) {
  if (-1 === selectedObject.indexOf(key)) {
    baz.push(key);
           }
        });    
   if(baz.length==0)
       {
        //Not matched
       }
   else
       {
         //matched
       }

答案 1 :(得分:0)

我不知道angularjs。但基本逻辑是这样的,

j=0
for(i=0; i<arr_len; i++){

   if(arr1[i] == arr2[i]{
   j++;
   }

}

if(arr_len == j){
    arrays are equal.

}

答案 2 :(得分:0)

终于解决了。使用_.Equals和基本for循环。这很简单。

if(answerArray.length != selectedAnsArray.length)
{
    //wrong answer
    return;
}
else
{
    for(var x = 0; x < answerArray.length; x++)
    {
        for(var y = 0; y < selectedAnsArray.length; y++)
        {
            if(_.isEqual(answerArray[x],selectedAnsArray[y]))
            count++;
        }
    }
    if(count==answerArray.length)
    {
       //correct answer
       return;
    }
    else
    {
      //wrong answer
      return;
    }
}