我目前正在编写一个侧面项目。这应该很简单。 我有一组看起来像
的值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;
}
}
}
}
答案 0 :(得分:1)
您可以使用(ES5):
values.some(function(v) {
return $scope.weather[i].Events.indexOf(v) > -1;
})
作为替代错误的代替:
$scope.weather[i].Events.indexOf(values) > -1