0

コンソールに記録すると、次のような文字列があります。

0.0196078431373,0.078431372549,0.0196078431373,0.0392156862745,0.0196078431373,0.0196078431373,0.0196078431373,0.0588235294118,0.0588235294118

次のように、チャートのオブジェクトで使用しようとしています。

var barChartData = {
    labels : ["People (2.5%)","War (2.1%)","Sharing (0.8%)","Animals (1.4%)","Friends (0.3%)"],
    datasets : [
        {
            fillColor : "rgba(74,219,168,0.8)",
            strokeColor : "rgba(56,193,145,1)",
            data : [strTags]
                        }
                    ]   
                }

しかし、strTags は出力されず (数字)、上記のように表示されます。次のように表示されるこれを修正するにはどうすればよいですか。

var barChartData = {
    labels : ["People (2.5%)","War (2.1%)","Sharing (0.8%)","Animals (1.4%)","Friends (0.3%)"],
    datasets : [
        {
            fillColor : "rgba(74,219,168,0.8)",
            strokeColor : "rgba(56,193,145,1)",
            data : [0.0196078431373,0.078431372549,0.0196078431373,0.0392156862745,0.0196078431373,0.0196078431373,0.0196078431373,0.0588235294118,0.0588235294118]
                        }
                    ]   
                }
4

3 に答える 3

1

最初に文字列を配列に変換する必要があります。たとえば、次を使用しsplit()ます。

var barChartData = {
    labels : ["People (2.5%)","War (2.1%)","Sharing (0.8%)","Animals (1.4%)","Friends (0.3%)"],
    datasets : [
        {
            fillColor : "rgba(74,219,168,0.8)",
            strokeColor : "rgba(56,193,145,1)",
            data : strTags.split(',')
        }
     ]   
}
于 2013-06-13T13:38:47.610 に答える
0

数値の配列にする必要がある場合は、文字列を解析して浮動小数点数にする必要があります。あなたはこれを行うことができます:

var barChartData = {
    labels : ["People (2.5%)","War (2.1%)","Sharing (0.8%)","Animals (1.4%)","Friends (0.3%)"],
    datasets : [
        {
            fillColor : "rgba(74,219,168,0.8)",
            strokeColor : "rgba(56,193,145,1)",
            data : strTags.split(',').map(function(element, index, array) {
                return parseFloat(element);
            })
        }
     ]   
}
于 2013-06-13T13:42:10.687 に答える
0

別の解決策は JSON.parse です

var barChartData = {
    labels : ["People (2.5%)","War (2.1%)","Sharing (0.8%)","Animals (1.4%)","Friends (0.3%)"],
    datasets : [
        {
            fillColor : "rgba(74,219,168,0.8)",
            strokeColor : "rgba(56,193,145,1)",
            data : JSON.parse("["+ strTags + "]");
        }
     ]   
}
于 2013-06-13T14:21:41.213 に答える