Как создать [12,24, 13,21] из многомерного массива

#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],
  });
}