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

标签 javascript arrays angularjs angularjs-scope

在 AngularJS 应用程序中,我有一个存储在从 $http 返回的 data 中的对象,如下所示:

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

我希望能够获取“var2”的值。

我认为这很容易:

$scope.myObj = data;

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

相反,$scope.myObj 返回未定义

如何获取 var2 的值?

最佳答案

在您的情况下,数据看起来像是一个数组。如果它的大小始终为 -1 数组,只需执行以下操作:

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

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

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

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

关于javascript - 从 $http 返回的 AngularJS 对象 - 如何获取键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27823420/

相关文章:

javascript - AngularJS : Removing rootScope listener doesn't work

javascript - 错误: jslint gives me error here for bad looping

javascript - 如何从 Web url 加载元数据,类似于我们在状态更新上发布 url 时 facebook 所做的事情...?

arrays - 对 m 维上的 n 维数组求和的最紧凑方法

java - coldfusion 在数组中查找结构

javascript - 如何从两个不同长度的数组javascript创建对象数组

c# - WinRT 上的 C++、C# 和 JavaScript

javascript - 将变量插入字符串

javascript - Eslint 错误导入没有扩展名的 jsx

java - RemoteWebDriver.executeScript() 和 Selenium.getEval() 有什么区别?