【问题标题】:Retrieving a value from a key in a json array从 json 数组中的键中检索值
【发布时间】:2019-08-25 15:38:47
【问题描述】:

我有一个 angularjs 函数,它包含一个 json 数组,如下所示。

$scope.userDetails = [{
name: 'Anil Singh',
age: 30
 }, {
name: 'Reena Singh',
age: 25
}];

我需要获取年龄键的所有值。这是我的代码。

$scope.getAge = function()
{
    $scope.userDetails = [{
                     name: 'Anil Singh',
                     age: 30
                      }, {
                     name: 'Reena Singh',
                     age: 25
                     }];
    for(var i=0;i< $scope.userDetails.length;i++)
    {
        console.log("This is age"+$scope.userDetails[i].age);
    }
};

但是当我检查控制台日志时,它显示为未定义值。

【问题讨论】:

  • 它是否抛出任何错误?
  • 不抛出错误
  • 首先尝试打印出完整的 $scope.userDetails 数组本身,例如 console.log(JSON.stringify($scope.userDetails)); 并显示它的结果。

标签: arrays json angularjs


【解决方案1】:

演示

var app = angular.module('testApp',[])
app.controller('testCtrl',function($scope){
$scope.getAge = function()
{
$scope.userDetails = [{
                     name: 'Anil Singh',
                     age: 30
                      }, {
                     name: 'Reena Singh',
                     age: 25
                     }];
for(var i=0;i< $scope.userDetails.length;i++)
{
     console.log("This is age"+$scope.userDetails[i].age);
}
};

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="testApp" ng-controller="testCtrl">
  <button ng-click="getAge()">Get age</button>
</div>

【讨论】:

  • 虽然我有相同的代码,但当我检查控制台日志时,它没有按预期显示任何值。它显示 $scope.userDetails[i].age 为 undefined
【解决方案2】:

我认为您正在寻找所有年龄段的人。请看下面的代码。

var MyAppp = angular.module('MyAppp',[])
MyAppp.controller('ageController',function($scope){
$scope.getAge = function()
{
    $scope.userDetails = [{
                     name: 'Anil Singh',
                     age: 30
                      }, {
                     name: 'Reena Singh',
                     age: 25
                     }];
   var ages= $scope.userDetails.map(function(o){return o.age});
   console.log(ages)
   return ages;
};

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="MyAppp" ng-controller="ageController">
  <button ng-click="getAge()">Get age</button>
</div>

【讨论】:

    猜你喜欢
    • 2018-12-15
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 2012-06-10
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多