【问题标题】:Searching a map and retrieving key if matching -angular js如果匹配-angular js,则搜索地图并检索密钥
【发布时间】:2021-10-04 20:21:11
【问题描述】:

Angular-JS 如果与用户给定的输入键匹配,则搜索地图并检索键

我的地图是这样的

var myMap= { k:1000, l:100000, 米:1000000, c:10000000 }; 如果用户输入是“l”,我想搜索地图并检索 l 以及值“100000” 并做一些进一步的操作

【问题讨论】:

  • 试试 var key = 'l'; var value = myMap[key];
  • 我不希望将我的密钥设置为“l”然后获得价值。输入是动态的。用户可以给出任何值,如 k、l、m、c 等
  • 这是一个例子。由于 myMap 是一个对象(又名关联数组,又名哈希),您可以使用 [] 运算符访问值。
  • 已添加答案,以便我可以显示代码 sn-p。

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat


【解决方案1】:

由于 myMap 是一个对象(又名关联数组,又名哈希),您可以使用 [] 运算符。

angular.module('MyModule', [])

.controller('MyController', function($scope) {

  $scope.myMap = { k:1000, l:100000, m:1000000, c:10000000 };
  
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app='MyModule' ng-controller='MyController'>
  <input type='text' ng-model='myMapKey' />
  <p>myMap value = {{myMap[myMapKey]}}</p>
</div>

【讨论】:

    【解决方案2】:

    要扩展answer from Gruff Bunny,您还可以执行以下操作来搜索键值对并在控制器内部进行计算并获取结果作为输出。

    angular.module('MyModule', [])
    
    .controller('MyController', function($scope) {
    
      $scope.myMap = { k:1000, l:100000, m:1000000, c:10000000 };
      $scope.chkIt = function(myIns){
        var myVal = $scope.myMap[myIns];
        if(myVal){
          //do your calculation here
          $scope.myResult = 'Calculation Done | Key: '+myIns+' | Value: '+myVal;
        }else{
          $scope.myResult = 'No Match for key: '+myIns;
        }
      };
    });
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    
    <div ng-app='MyModule' ng-controller='MyController'>
      <input type='text' ng-change="chkIt(myMapKey)" ng-model='myMapKey' />
      <p>myMap value = {{myResult}}</p>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-11
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      相关资源
      最近更新 更多