对象值与数组indexOf中的任何值匹配

时间:2015-09-02 04:10:06

标签: javascript arrays indexof

我目前正在编写一个侧面项目。这应该很简单。 我有一组看起来像

的值
values = ["Snow","Rain"];

我正在尝试针对数组中的所有值检查对象属性值。如果只有一个值,那么它可以完美地运行,我认为这是因为indexOf只检查单个值。我想知道我应该使用什么呢?

$scope.weather = payload.data;
                var len = $scope.weather.length;
                $scope.year = {};
                for(var i = 0; i < len; i++){
                    if($scope.weather[i].Events !== null){
                      if($scope.weather[i].Events.indexOf(values) > -1){
                        if(!$scope.year[$scope.weather[i].year]){
                            $scope.year[$scope.weather[i].year] = 1;
                        }else{
                        $scope.year[$scope.weather[i].year] += 1;

                        }

                    }
                    }
                }

1 个答案:

答案 0 :(得分:1)

您可以使用(ES5):

values.some(function(v) {
    return $scope.weather[i].Events.indexOf(v) > -1;
})

作为替代错误的代替:

$scope.weather[i].Events.indexOf(values) > -1