我有以下内容的2个数组:
var answer = [[2,1],[1,1],[0,0]];
var selectedObject = [[1,1],[0,0],[2,1]];
我想匹配两个数组的内容。 _.Equals
在上述情况下对我不起作用。因为相同的内容在数组中不在同一位置。
是否有任何简单的方法来匹配上述数组的内容。
任何演示代码,示例或逻辑都会有所帮助。
答案 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;
}
}