#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.