использование переменных в параметрах диаграммы Google Javascript

#javascript #google-visualization

#javascript #google-визуализация

Вопрос:

Я создал круговую диаграмму Google, используя следующий код:

 var data = google.visualization.arrayToDataTable(array);
var options = {
  title: 'Meta Share',
      is3D: true,
      sliceVisibilityThreshold: .04,
      slices: {  6 : {offset: 0.2},
      },
    };

    var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
    chart.draw(data, options);
}
 

Я хочу динамически выбирать фрагмент круговой диаграммы в зависимости от того, что делает мой пользователь.
Теперь у меня есть следующий код:

 var slice = 8;
 

Однако теперь я хотел бы использовать эту переменную в приведенном выше коде; замена ‘6’ переменной ‘slice’ не работает.

Есть предложения? 🙂

Ответ №1:

Вы не можете использовать переменные в качестве ключей в объектных литералах, вам нужно сначала создать объект, а затем использовать скобки для использования переменной в качестве ключа

 var slice  = 8;
var slices = {};

slices[slice] = {offset: 0.2};

var data = google.visualization.arrayToDataTable(array);
var options = {
    title  : 'Meta Share',
    is3D   : true,
    sliceVisibilityThreshold : .04,
    slices : slices
};

var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
    chart.draw(data, options);
}
 

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

1. Или с вычисляемыми именами свойств : var slice = 8, slices = { [slice]: { offset: 0.2 } }

2. @Andreas — да, мне это нравится, но в настоящее время они работают только в Chrome и FF.