首页 > 解决方案 > 如何转换字符串格式的数据

问题描述

我有一个 Json 格式,如:

 var d =  "1,3,2,4"

我如何将其转换为

 var d =   [3,5,3,6]

我试过这个:

success: function (Response) {
    debugger;
    var du = (Response.d);
    var final_string = '[' + du + ']'
    // final_string = [1, 3, 2, 4];
    console.log(final_string);

但这不起作用,我想将其final_string视为 final_string = [1, 3, 2, 4];

实际上我正在尝试通过这些数据制作图表

脚本

<script>
        $(document).ready(function(){
            debugger;
            $.ajax({
                type: "Post",
                url: "Default.aspx/getdata",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (Response) {
                    debugger;
                    var d = Response.d.toString();
                    var final_string = '[' + d + ']'
                    console.log(final_string);
                    //final_string = [1,3,2,4];
         var options = {
             chart: {
                 height: 250,
                 width:500,
                 type: 'line',
             },
             series: [{
                 name: ' ',
                 type: 'column',
                 data: final_string
             }, {
                 name: '',
                 type: 'line',
                 data: final_string
             }],
             stroke: {

                 width: [0, 4]
             },
             title: {
                 text: 'Total Count'
             },
             labels: ['Birthady', 'Anniversary', 'Special', 'Total'],
             xaxis: {
                 type: 'text'
             },
             yaxis: [{
                 title: {
                     text: 'Count Blog',
                 },
             }, {
                 opposite: true,
                 title: {
                     text: ''
                 }
             }]
         }
         debugger;
         var chart = new ApexCharts(
             document.querySelector("#chart"),
                      options

                    );

                    chart.render();

                },
                error: function (result) {
                }
            });
        });
    </script>

这里的系列数据格式是[1,3,2,4],当我传入data = [1,3,2,4]系列数据图时以正确的格式显示,而当我传入final_string系列数据图时未以正确的格式显示这种格式的主要问题是final_string什么有人可以帮助我吗?

标签: javascriptjson

解决方案


为什么不使用split(",")函数。由于您在图表上使用数组,因此您可以使用map(Number)将数组的每个项目转换为Number类型而不是String

var d =  "1,3,2,4"
var res = d.split(",").map(Number);

console.log(res)

我的回答基于以下示例:ApexCharts

您需要一个数字数组,例如:

[2.3, 3.1, 4.0, 10.1, 4.0, 3.6, 3.2, 2.3, 1.4, 0.8, 0.5, 0.2]

推荐阅读