Как создать динамический массив с координатами XY в реагировать родной - PullRequest
0 голосов
/ 25 мая 2018

Здравствуйте, друзья! Я хочу создать динамический массив координат xy с помощью значения массива JSON, поэтому ниже значения 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')

Любая идея, как я могу решить эту проблему?Ваши предложения приветствуются.

1 Ответ

0 голосов
/ 25 мая 2018

В вашем коде вы не можете использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...