如何在反应原生中创建具有x y坐标的动态数组

问题描述 投票:0回答:1

朋友们,我想在JSON数组值的帮助下创建x-y坐标的动态数组,因此低于JSON值

"data": [
  {
    "x_value": 1,
    "y_value": 1527116400
  },
  {
    "x_value": 43.45,
    "y_value": 1527030000
  },
  {
    "x_value": 43.95,
    "y_value": 1526943600
  },
  {
    "x_value": 43.95,
    "y_value": 1526857200
  },
  {
    "x_value": 44.05,
    "y_value": 1526598000
  },
  {
    "x_value": 44.25,
    "y_value": 1526511600
  },
  {
    "price": 44.1,
    "y_value": 1526425200
  },
  {
    "x_value": 44.3,
    "y_value": 1526338800
  },
  {
    "x_value": 44.25,
    "y_value": 1526252400
  }

]

我的Js代码如下

var data = null;
var array_data = response.sData.chart_data;
for (let index = 0; index < chart_data.length; index++) {
    data.push({ array_data[index].x_value, y: chart_data[index].y_value });
}

当我运行上面的代码时,我收到错误消息;

TypeError:null不是对象(评估'data.push')

知道怎么解决这个问题?你的所有建议都很明显。

javascript arrays loops react-native
1个回答
1
投票

在你的代码中,你不能在布尔Array.prototype.push()变量上使用var data = null; ..

最好使用Array.prototype.map()创建一个新数组,其结果是在调用数组中的每个元素上调用一个提供的函数。

代码示例:

const chart_data = [{"x_value": 1,"y_value": 1527116400},{"x_value": 43.45,"y_value": 1527030000},{"x_value": 43.95,"y_value": 1526943600},{"x_value": 43.95,"y_value": 1526857200},{"x_value": 44.05,"y_value": 1526598000},{"x_value": 44.25,"y_value": 1526511600},{"price": 44.1,"y_value": 1526425200},{"x_value": 44.3,"y_value": 1526338800},{"x_value": 44.25,"y_value": 1526252400}];
const data = chart_data.map(coordinate => ({
  x: coordinate.x_value,
  y: coordinate.y_value
}));

console.log(data);
© www.soinside.com 2019 - 2024. All rights reserved.