从$ http返回的AngularJS对象 - 如何获取键/值对

时间:2015-01-07 16:00:47

标签: javascript arrays angularjs angularjs-scope

在AngularJS应用中,我有一个存储在data $http中的对象,看起来像这样:

[{"var1":"1","var2":"2","var3":"3"}]

我希望能够获得"var2"的价值。

我认为这很容易:

$scope.myObj = data;

$scope.myVar = $scope.myObj.var2;  //$scope.myvar should "2"

相反,$ scope.myObj返回undefined

如何访问var2的值?

1 个答案:

答案 0 :(得分:1)

在您的情况下,数据看起来像是一个数组。如果它总是大小为-1数组,那就做:

$scope.myObj = data[0]; //Add any necessary null checks

如果数组大小为>则通过循环遍历数组来相应地修改逻辑。 1。

angular.isObject()返回true,因为array也是一个对象。

您可以在检查angular.isArray(obj)之前使用isObject,以确保按原样过滤掉数组。如果你得到混合数据,有时候是对象,有时你也可以做同样对象的大小为1的数组: - $scope.myObj = [].concat(data)[0]