我有一组数据
$scope.mydata = [{
"Block_Devices": {
"bdev0": {
"Backend_Device_Path": "/dev/ram1",
"Capacity": "16777216",
"Bytes_Written": 1577,
"timestamp": "4365093970",
"IO_Operations": 17757,
"Guest_Device_Name": "vdb",
"Bytes_Read": 17793,
"Guest_IP_Address": "192.168.26.88"
},
"bdev1": {
"Backend_Device_Path": "/dev/ram2",
"Capacity": "16777216",
"Bytes_Written": 1975,
"timestamp": "9365093970",
"IO_Operations": 21380,
"Guest_Device_Name": "vdb",
"Bytes_Read": 20424,
"Guest_IP_Address": "192.168.26.100"
}
},
"Number of Devices": 2
}]我想从这个json创建一个数组,例如
devices = ['bdev0', 'bdev1']当我尝试
$scope.mydata.Block_Devices,它给了我整个json对象,但是我只想知道对象的名称,比如bdev0和bdev1,我怎么能得到它呢?
发布于 2016-05-11 10:39:18
尝试如下:
var devices = [];
for (var key in $scope.mydata[0].Block_Devices) {
devices.push(key)
}发布于 2016-05-11 11:15:36
以防万一ES5方案
devices = Object.keys($scope.mydata[0].Block_Devices)发布于 2016-05-11 11:15:28
您必须遍历对象属性才能将其归档:
var devices = [];
var data = $scope.mydata[0].Block_Devices;
for (var name in data) {
if (data.hasOwnProperty(name)) {
devices.push(name);
}
}hasOwnProperty调用对于跳过prototype中的属性非常重要,如果您确信没有任何属性,则可以跳过它。
https://stackoverflow.com/questions/37160128
复制相似问题