Как я могу поместить эти значения программно, используя JavaScript?

#javascript

#javascript

Вопрос:

Я получаю некоторый список значений из базы данных

 var priceData = [];

data.jobs[i].low will give me the Value 

 for ( var i = 0; i < data.jobs.length; i  ) 
{
// Need Help Here 

}
  

Теперь, пожалуйста, скажите мне, как я могу построить массив как

 var priceData = [[0,100.34],[1,108.31],[2,109.40],[3,104.87],[4,106.00]
  

Означает, что индекс 0 даст мне 100.34, где data.jobs [0].low предоставляет мне значение 100.34, извините за мой английский.

Спасибо

Ответ №1:

Вы должны создать другой массив, который содержит индекс итерации и данные

 [i, data.jobs[i].low]
  

Таким образом, это было бы:

 for (var i = 0; i < data.jobs.length; i  )  { 
    priceData.push([i, data.jobs[i].low]);
}
  

Обновление: Приведенные ниже предложения не актуальны, поскольку данные действительно необходимы в виде 2d-данных. Однако я оставлю это на случай, если это представляет какой-либо интерес.

Но это означает, что вы должны получить доступ к значениям с priceData[x][1] . Более удобным (и естественным) было бы поместить значения непосредственно в массив (а не создавать массив массивов):

 for (var i = 0; i < data.jobs.length; i  )  { 
    priceData.push(data.jobs[i].low);
}
  

что дало бы вам такой массив can:

 [100.34, 108.31, 109.40, 104.87, 106.00]
  

к которому можно получить доступ с помощью priceData[x] .

В большинстве случаев нет причин сохранять индекс, поскольку он задается неявно позицией элемента в массиве.

Комментарии:

1. Мне нужны данные в этом формате var priceData = [[0,100.34],[1,108.31],[2,109.40]]

2. @user663724: Да, это то, что делает первый фрагмент. Но зачем вам это нужно именно так?

3. Мне также нужно сохранить индекс.

4. @user663724: Я понял это. Я спросил вас, почему вам нужно это сделать. Что вы собираетесь делать с этими данными? Я просто хочу помочь вам и избавить вас от необходимости иметь дело с ненужными сложными структурами данных.

5. Спасибо, Феликс Клинг, я на самом деле создаю диаграмму, где данные по оси X будут иметь даты. ИТАК, во всплывающей подсказке на диаграмме мне нужно показать для конкретного значения даты это значение (для этого требуются двумерные массивы)

Ответ №2:

 for ( var i = 0; i < data.jobs.length; i  ) 
{
    priceData[i] = data.jobs[i];

}
  

Комментарии:

1. Это то же самое, что priceData = data.jobs а не то, что хочет OP.