【发布时间】:2016-11-17 08:47:02
【问题描述】:
我的问题有一个解决方案,但我不知道是否存在更好的解决方案。
在我实施之后:
查看:
<md-list>
<md-list-item>
<span ng-repeat="item in ::items track by $index" flex="auto">
{{::item}}
</span>
<md-divider></md-divider>
</md-list-item>
</md-list>
控制器:
CrudSvc.GetAll().$promise.then(
function (res) {
$scope.items = GetKeyForTitle(res);
},
function (err) {
//err code...
}
);
function GetKeyForTitle(data) {
var arrItems = [];
var resData = data[0];
angular.forEach(resData, function (val, key) {
arrItems.push(key);
});
return arrItems;
}
JSON 数据定义简单:
[
{
"NAME": "John Doe",
"AGE": 25,
"CITY": "New York",
"COUNTRY": "USA"
},...
]
对于我的解决方案,我使用 data[0] 只给我第一个数据,否则我总是得到相同的密钥,我只需要一次密钥。
【问题讨论】:
-
@Rajesh 感谢您的评论,但在线程中没有示例仅从第一个数据中提取键,因为我在数组中有 10 个对象,这意味着在您的情况下我会得到十次相同的键。
-
如果我理解正确,问题的目的是获取对象数组中第一个对象的键。现在您已经弄清楚了获取第一个对象的部分。因此,您所需要的只是一种获取密钥的方法,即提到的帖子亮点
-
@Rajesh 我的问题是,是否存在更好的解决方案而不是使用
data[0]。你怎么能看到我已经定义了一个 forEach 来循环我的数组。 -
你试过
Array.prototype.keys()吗? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript angularjs arrays for-loop