我有一个如下所示的数组:
$scope.blinkedBoxes=[3,4,1,2,..]
总共最多有 8 个元素(元素将为 1、2、3、4 中的数字之一)。
另一个数组如下:
$scope.clickedImages=[2,4,3,1,...]
我正在构建以下功能:
$scope.checkCrossCorrectness = function(array1, array2){}
我的要求是:
如果 $scope.blinkingBoxes
的第一个元素是 2(或者基本上是 1、2、3、4 中的任意一个),那么在 $scope.clickedImages
中,第一个元素可以不是 2(或与第一个数组的第一个元素相同),而是可以是 1、3 或 4。
此逻辑也适用于其他元素(即,在第一个数组中的第二个位置,如果 3 出现,则在第二个数组中,第二个位置可以被 1、2 或 4 占据)
我该如何实现这个?
最佳答案
我真的不知道这是否与 Angular 有任何关系,但据我所知,一个简单的 forEach 循环将检查索引之间的相等性。
示例:
$scope.blinkedBoxes = [1, 2 ..] // etc
$scope.clickedImages = [2, 1, ..] // etc
function functionToRunOnClickOrWhatever(){
$scope.blinkedBoxes.forEach(function(val, index){
var isEqual = val === $scope.clickedImages[index];
if(isEqual){
// do something?
}
});
}
关于javascript - Angularjs 比较两个数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38730474/