Как в javascript преобразовать строку в коде?

#javascript #charts

#javascript #Диаграммы

Вопрос:

У меня возникли некоторые проблемы;

Я хочу изменить код в метках строк (это параметры chart.js) но мои метки меняются, и я хочу установить этот параметр

Пример из этого

  var nData = {
                    labels: [1,2,3,4,5,6,7,8]
             }
  

Для

 var nData = {
                    labels: [**"1,2,3,4,5,6,7,8,9"**]
             }
  

От

  var nData = {
                labels: [1,2,3,4,5,6,7,8],

                datasets: [
                    {
                        fillColor: "rgba(220,220,220,0)",
                        strokeColor: "rgba(220,220,220,1)",
                        highlightFill: "rgba(220,220,220,0.75)",
                        highlightStroke: "rgba(220,0,220,1)",

                        data: [array[0].amount, array[1].amount, array[2].amount, array[3].amount, array[4].amount, array[5].amount, array[6].amount,array[7].amount],

                        title : "My revenue"
                    }
                ]
            };


            var opts = {
                scaleLineColor: "gray", 
            }

            var ctx = document.getElementById("canvas").getContext("2d");
            window = new Chart(ctx).Line(nData,opts);
        }
  

вот так,
но этот вариант не работает.

 var a="1,2,3,4,5,6,7,8";
     var nData = {
                        labels: [eval(a)],

                        datasets: [
                            {
                                fillColor: "rgba(220,220,220,0)",
                                strokeColor: "rgba(220,220,220,1)",
                                highlightFill: "rgba(220,220,220,0.75)",
                                highlightStroke: "rgba(220,0,220,1)",

                                data: [array[0].amount, array[1].amount, array[2].amount, array[3].amount, array[4].amount, array[5].amount, array[6].amount,array[7].amount],

                                title : "My revenue"
                            }
                        ]
                    };


                    var opts = {
                        scaleLineColor: "gray", 
                    }

                    var ctx = document.getElementById("canvas").getContext("2d");
                    window = new Chart(ctx).Line(nData,opts);
                }
  

Ответ №1:

Если я вас правильно понимаю, это просто:

 nData.labels = [nData.labels.join()];
  

Это эквивалентно

 nData.labels = [nData.labels.join(',')];
  

потому что значением по умолчанию для join является запятая.

Третий вариант заключается в выполнении

 nData.labels = [nData.labels.toString()];
  

Которое в этом случае также вернет желаемый результат.