【问题标题】:Create multidimensional arrays on json string在 json 字符串上创建多维数组
【发布时间】:2014-07-02 08:46:22
【问题描述】:

喂,

我正用头撞墙,因为我似乎没听懂……

我正在使用 jqBarGraph.1.1 JS 库确实显示一些数据。

我应该显示的数据在我收到的 JSON 对象中。

但线索来了,我必须创建一个多维数组才能将数据传递到库或创建条形图的方法。

对库的要求如下:

var graphResolutionByYear = new Array(
        [[4238,4459,550],'21.04.2014'],
        [[4156,4453,550],'22.04.2014'],
        [[4424,4459,550],'23.04.2014'],
        [[4238,4459,550],'24.04.2014'],
        [[4156,4453,550],'25.04.2014'],
        [[4238,4459,550],'26.04.2014'],
        [[4238,4459,550],'27.04.2014']
    );

所以我现在需要以某种方式从上面创建数组,然后我调用了我的$.getJSON()

到目前为止,我在谷歌搜索和研究方面所做的是:

function createBarChart(daten){
    var arraySize = daten["data"].length;
    var barValues = new Array(arraySize);


    $.each(daten["data"],function(i,val){
        var values = new Array();
        barValues[i] = new Array(3);
        barValues[i].push(daten["data"].prodDatum);


    });


}

在 barValues 中创建了 3 值数组,但仍然缺少作为 json 值的 prodDatum 值。它是一种“钥匙”。

$.getJSON 函数调用函数createBarChart() 并传递 JSON 字符串。

JSON 字符串本身就是一个包含多个数据条目的数组。

如果有人能把我推向正确的方向,那就太棒了!

谢谢!

更新:

我已将标记更改为以下内容

 function createHochOfenChart(daten){

    var arraySize = daten["data"].length;
    var barValues = new Array(arraySize);


    $.each(daten["data"],function(i,val){
        var valus = new Array();
        barValues[i]=new Array(3);
        barValues[i].push("test");


    });

    console.debug(barValues);

 }

现在 3 值数组变成了 4 值数组,因此“test”字符串被添加到我的新 Array(3) 初始化数组中。有人知道如何“判断”这是一个“多维”条目吗?

更新 2:

我现在已经达到了第一个可以说数组中填充了我需要的数据的点:

 function createHochOfenChart(daten){

    var arraySize = daten["data"].length;
    var barValues = new Array(arraySize);


    $.each(daten["data"],function(i,val){
        var valus = new Array();
        barValues[i]=new Array(3);
        barValues[i][0] = val.reSoll;
        barValues[i][1] = val.reIst;
        barValues[i][2] = val.reVorrat;
    });

    console.debug(barValues);

 }

现在将值放入数组中,但我无法添加带有日期的字符串作为“键”...

【问题讨论】:

  • hm,您能否提供您从 getJson 收到的 src 代码以及您需要什么输出?
  • getJSON 工作正常,我收到他们的数据没有任何问题。这甚至不是问题。

标签: jquery arrays json multidimensional-array


【解决方案1】:

此函数获取 daten['data'] 数组并创建一个列表条目,其中 3 个位置数组在第一个位置,prodDatum 值在第二个位置

function createHochOfenChart(daten){
    var barValues = daten["data"].map(function (e){
        var valus = new Array();
        valus.push([e.reSoll, e.reIst, e.reVorrat])
        valus.push(e.prodDatum);
        return valus
    })
    return barValues
}

是你想要的吗?

【讨论】:

  • 我不确定,我必须遍历 daten["data"] json 数组,并且必须从 daten["data"] json 数组中取出一些值并准确创建与我在顶部描述的相同的数组。我已经取得了一些进展,我将在几秒钟内将其粘贴到问题中!
  • 你就是男人!谢谢朋友!你节省了我的工作时间;-)
猜你喜欢
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-15
  • 1970-01-01
  • 1970-01-01
  • 2014-09-24
相关资源
最近更新 更多