#javascript #arrays #object #multidimensional-array
#javascript #массивы #объект #многомерный массив
Вопрос:
Я действительно борюсь с массивами и объектами javascript. Мне нужно создать эту структуру (массив? или ..? не уверен, что это такое),
data = [ 12, 24, 13, 21]
для chart.js построение диаграммы динамически, из массива.
Массив создается как
yAxisArray.push(singularYaxisDataArray);
где
var singularLabelArray = [];
singularLabelArray has values 12, 24, 13, 21 pushed into it.
и ‘yAxisArray’ может содержать в себе несколько singularLabelArray, что означало бы повторение их всех
для создания нескольких из этих структур «data = [ 12, 24, 13, 21]» чтобы вложить в это
var datasources = [
{
label: "Budgeted",
backgroundColor: 'red',
data: [12, 24, 13, 21]
},
{
label: "Actual",
backgroundColor: "#8e5ea2",
data: [408, 547, 675, 734]
}
];
Повторение yAxisArray не является проблемой, но я не могу извлечь из него структуру, которая мне нужна.
for (idx = 0; idx < yAxisArray.length; idx )
{
var datasources =
{
label: labelArray[idx],
**data: yAxisArray[idx],**
backgroundColor: colorsList[idx],
}
}
Спасибо
Комментарии:
1. Здесь нет ничего многомерного, но из вашего форматирования неясно, говорите ли вы о четырех значениях
[ 12, 24, 13, 21]
или о двух значениях[ 12.24, 13.21]
2. Привет, спасибо, это 4 значения (десятичные), отсюда и точка.
3. Вопрос? Почему он не многомерный?
4. Существуют простые массивы (т.Е. Один или несколько singularLabelArray), помещенные в YAxisArray? спасибо
5. Многомерный массив будет выглядеть так
[[1,2], [3,4]]
— ничто в вашем коде не имеет такой структуры.
Ответ №1:
объявите var вне цикла и используйте метод push. Должно сработать. (Если нет, можете ли вы добавить yAxisArray
данные и ожидаемые)
var datasources = [];
for (idx = 0; idx < yAxisArray.length; idx ) {
datasources.push({
label: labelArray[idx],
data: yAxisArray[idx],
backgroundColor: colorsList[idx],
});
}