Angularjs проверяет, имеют ли два массива разные элементы

0

У меня есть массив $scope.blinkingBoxes=[1,3,2]

У меня есть еще один массив, называемый $scope.clickedBoxes и я нажимаю на него несколько значений.

Теперь, if(angular.equals($scope.blinkingBoxes, $scope.clickedBoxes)){doSomething()} проверяет, являются ли оба массива одинаковыми (то есть те же элементы в одном порядке)

Однако я хочу проверить, не содержит ли второй массив никакого элемента из первого массива и выполняет какое-либо действие. Как я могу это достичь?

  • 0
    Дублирование? stackoverflow.com/questions/16312528/...
  • 0
    Он говорит «любой» элемент, и я хочу «нет»
Теги:

2 ответа

1
Лучший ответ

Нет такой встроенной функции

вы можете использовать это

angular.forEach(array1, function(value, key) {
angular.forEach(array2, function(value_1, key_1) {
    if (value === value_1) {
        // condition or action
    }
});

});

0
count = 0;
angular.forEach($scope.blinkingBoxes, function(value, key) { 
    if(value.indexOf($scope.clickedBoxes) == -1) {
        //not in same order or not same elements action goes here
        count++;
    }
});

if(count == $scope.blinkingBoxes.length) {
    //second array do not contain any element from first array, action goes here
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню