javascript - Angularjs 比较两个数组中的元素

标签 javascript angularjs

我有一个如下所示的数组:

$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/

相关文章:

javascript - 仅在服务器 : Restful service + angularjs 上保存更改的对象

javascript - 如果所有 span 元素不包含文本,jQuery 禁用按钮

javascript - babel 子模块意外 token 导入

javascript - 单击时如何保留按钮周围的矩形边框

javascript - 确定调用了哪些 AngularJS 函数

javascript - 出现 Angular 模型名称而不是值

javascript - clearRect 绘制垂直线时不清除 Canvas

javascript - 为什么当我按“开始”时不显示 console.log 消息?

javascript - 卡 IO PhoneGap 插件不起作用

javascript - 动态地将小部件显示到模态中