带有 Json 对象的 react-stockcharts

react-stockcharts with Json object

大家好,我正在尝试将 React-stockchart 实施到我的项目中,但是我 运行 遇到了几天以来我一直面临的问题,我需要将数据传递给图表。

React-stockchart 接受这种格式的数据

 Data=[
    0:{
       open:25.436282332605284 , 
       high:25.835021381744056 , 
       low: 25.411360259406774,
       date:Date 2010-01-03T23:00:00.000Z,
       volume:38409100},
    1:{....}
    2:{....}
]

使用此功能,我能够将输入数据从这种格式 My data 转换为这种格式

我用来将数据转换为 React-Stockchart 接受的类似格式的函数:

convertData(data) {
      var keys = ["date","open","close","hight","low","volume"],
          i = 0, k = 0,
          obj = null,
          output = [];
      for (i = 0; i < data.length; i++) {
          obj = {};
          for (k = 0; k < keys.length; k++) {
              obj[keys[k]] = data[i][k];
          }
      output.push(obj);
      }
    return output;
  }

使用此函数后,我得到了这种格式的结果,但是日期是 unix 时间戳,我正在寻找一种方法来实现我的函数,以将日期转换为 React-stockchart 接受的类似格式

Data=[
        0:{
           open:10608 , 
           high:10617 , 
           low: 10613.07326842,
           date:1519288380000,
           volume:25.33908407},
        1:{....}
        2:{....}
    ]

您可以使用时间戳创建一个新的 Date 对象:

var dateObj = new Date(timestamp);

所以在你的情况下:

convertData(data) {
      var keys = ["date","open","close","hight","low","volume"],
          i = 0, k = 0,
          obj = null,
          output = [];
      for (i = 0; i < data.length; i++) {
          obj = {};
          obj[keys[0]] = new Date(data[i][0]); 
          for (k = 1; k < keys.length; k++) {
              obj[keys[k]] = data[i][k];
          }
      output.push(obj);
      }
    return output;
  }