Javascript对象和数组元素访问

时间:2016-07-23 09:35:39

标签: javascript arrays object

我正在使用VizGrammar JS库编写支持时间序列数据绘图表的代码。

我在javascript中遇到了对象和数组的问题。

我得到了很多数组console output,我只需要第一个数组块。我怎样才能访问它?

$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)

2 个答案:

答案 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获取每个元素的第一个块:

ES6版本

var innerDataValues = data.map(element => element.data);

ES5版本

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' ] ] ]