我有一个问题的解决方案,但我不知道它是否存在更好的解决方案。
以下我实施了:
查看:
<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]
只给我第一个数据,否则我总是得到相同的键,我只需要一次键。
答案 0 :(得分:3)
使用Object.keys()
:
var data = [{
"NAME": "John Doe",
"AGE": 25,
"CITY": "New York",
"COUNTRY": "USA"
}, {
"NAME": "John Doe",
"AGE": 25,
"CITY": "New York",
"COUNTRY": "USA"
}, {
"NAME": "John Doe",
"AGE": 25,
"CITY": "New York",
"COUNTRY": "USA"
}, {
"NAME": "John Doe",
"AGE": 25,
"CITY": "New York",
"COUNTRY": "USA"
}, {
"NAME": "John Doe",
"AGE": 25,
"CITY": "New York",
"COUNTRY": "USA"
}]
var arrItems = Object.keys(data[0]);
console.log(arrItems);
&#13;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
答案 1 :(得分:0)
您可以使用
var allKeys = [];
for(var key in myObject) allKeys.push(k);
console.log("Keys " + allKeys.length + " keys: " + allKeys);
或者如果你使用Lodash /下划线,它会让你的生活变得更加轻松。