我正在使用VizGrammar JS库编写支持时间序列数据绘图表的代码。
我在javascript中遇到了对象和数组的问题。
我得到了很多数组,我只需要第一个数组块。我怎样才能访问它?
$myIp = "192.168.1.101"
$myCurrentBytes = Get-NetAdapterStatistics | Where-Object -Property InterfaceAlias -eq `
(Get-NetIPAddress | Where-Object -Property IPAddress -eq $myIp | Select-Object -Property InterfaceAlias).InterfaceAlias `
| Select-Object -Property ReceivedBytes,SentBytes
$myCurrentKbytesDown = [math]::Round($myCurrentBytes.ReceivedBytes / 1024)
$myCurrentKbytesUp = [math]::Round($myCurrentBytes.SentBytes / 1024)
答案 0 :(得分:0)
$scope.getData = function(data) {
var innerData = '';
for (var i = 0 ; i < data.length; i++) {
for (var j = 0; j<data[i].data.length; j++) {
innerData += data[i].steps[j];
}
}
return innerData;
}
这里参数内的数据是你的整个数据,而var j的循环是你的innerData。如果你想在innerData中获取特定数据意味着你可以放
innerData += data[i].steps[j].Whatever You want;
(而不是$ scope你也可以使用'this')希望它能起作用。
答案 1 :(得分:0)
您可以使用array.map获取每个元素的第一个块:
var innerDataValues = data.map(element => element.data);
var innerDataValues = date.map(function(el){ return el.data; })
修改:适用于此示例:
var data = [{
"prop" : {
"val" : 12,
"eval": 36
},
"data": [
["test", 3.12 ,"Hello"],
["toto", 18, "titi"]
]
},
{
"prop" : {
"val" : 25,
"eval": 64
},
"data": [
["prod", 3.13 ,"Hi"],
["john", 18, "mike"]
]
}
];
var innerDataValues = data.map(element => element.data);
console.log(innerDataValues); //[ [ [ 'test', 3.12, 'Hello' ], [ 'toto', 18, 'titi' ] ], [ [ 'prod', 3.13, 'Hi' ], [ 'john', 18, 'mike' ] ] ]