2017-03-20 44 views
1

我的角度腳本 -通過另一個值檢索JSON對象的屬性?

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 

$scope.set = [{"minValue":"30","ord":"414"}, {"minValue":"60","ord":"503"}, {"minValue":"90","ord":"541"}]; 

}); 

如果我發現最小值喜歡它是60,然後我想找到序(ORD)是什麼?

回答

0

您可以使用JavaScript find原型功能,找到並從數組的形式返回對象

$scope.minVal = "60" 
$scope.set = [{"minValue":"30","ord":"414"}, {"minValue":"60","ord":"503"}, {"minValue":"90","ord":"541"}]; 

$scope.obj = $scope.set.find(o => o.minValue === $scope.minVal); 

console.log($scope.obj.ord) 

演示

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
$scope.minVal = "60" 
 
$scope.set = [{"minValue":"30","ord":"414"}, {"minValue":"60","ord":"503"}, {"minValue":"90","ord":"541"}]; 
 
    
 
$scope.obj = $scope.set.find(o => o.minValue === $scope.minVal); 
 
    
 
console.log($scope.obj.ord) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    
 
</div>

+0

Thanks Sachila ..It works .. –

0

取決於你想在那裏做,即

1)如果你只想要過濾,對您的控制器邏輯,然後使用該值作爲一個單獨的變量/ scope變量然後,您可以簡單地使用JavaScript find功能

//Say simply you have target 'minValue' in a variable 
$scope.searchValue = '60'; 
var result = $scope.set.find(function(v){return v.minValue == $scope.searchValue}); 
//it will return the array of all data with 'minValue == 60 ' in your case 

//So in your case the actual value you want would be 
console.log(result.ord); 

2)如果你只是想篩選納克重複的HTML,那麼你可以使用「過濾器」

<div ng-repeat="item in set | filter : {'minValue': searchValue}"> 
</div> 
0

你可以使用filter方法,可在ES5

angular.module("app", []) 
 
    .controller("ctrl", function($scope) { 
 
    $scope.minVal = "60" 
 
    $scope.set = [{ 
 
     "minValue": "30", 
 
     "ord": "414" 
 
    }, { 
 
     "minValue": "60", 
 
     "ord": "503" 
 
    }, { 
 
     "minValue": "90", 
 
     "ord": "541" 
 
    }]; 
 

 
    $scope.obj = $scope.set.filter(function(val) { 
 
     return val.minValue === $scope.minVal; 
 
    }); 
 

 
    console.log($scope.obj) 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 

 
</div>

相關問題