Html 如何用点替换逗号

Html 如何用点替换逗号,html,arrays,json,Html,Arrays,Json,我的json中有逗号值,我想当我得到这些值时,我会在点中得到它们,所以基本上我想把我的逗号值转换成点值。我的json看起来像,而且它总是固定的,我会在val003处得到逗号值。 我知道一些操作,比如var new=new.replace(/,/g,'.')。但是我如何在这里为转换指定我的val003。先谢谢你 我的html <!doctype html> <html> <head> <meta charset="UTF-8">

我的json中有逗号值,我想当我得到这些值时,我会在点中得到它们,所以基本上我想把我的逗号值转换成点值。我的json看起来像,而且它总是固定的,我会在val003处得到逗号值。 我知道一些操作,比如var new=new.replace(/,/g,'.')。但是我如何在这里为转换指定我的val003。先谢谢你

我的html

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">
    <meta content="utf-8" http-equiv="encoding">
      <div id="below">
        <div id="chart"></div>
    </div>
    <script>
        var jsonURL = 'avb.json';
        var myData = [];
        var fliterdata = [];
        var tempdata = [];
        var selectop = "";
        var selectDate = false;
        var chartType = chartType || 'bar';

        function filterJSON(json, key, value) {
            var result = [];
            for (var foo in json) {
                var extractstr = json[foo][key] ;
                extractstr=String(extractstr);

                if (extractstr.slice(3)== value) {

                    result.push(json[foo]);

               }
            }
            return result;
        }
        function selectValue(d) {    
            switch (selectop) { //d object select particular value for Y axis
                case "01":
                    return d.val001;
                    break;
                case "02":
                    return d.val002;
                    break;
                case "03":
                    return d.val003;
                    break;
                case "04":
                    return d.val004;
                    break;
               default:
                    //console.log("default");
                    return d.val001;
            }


        }

      var line = d3.svg.line()
                .x(function(d) {
                    return xScale(d.date);
                })
                .y(function(d) {
                    return yScale(selectValue(d));
                })
                .interpolate("monotone")
                .tension(0.9);




            yScale.domain([0, d3.max(tempData, function(d) {
                return +selectValue(d);
            })]);

            var svg = d3.select('#chart').append('svg')
                    .attr("width", width + margin.left + margin.right)
                    .attr("height", height + margin.top + margin.bottom)
                    .append("g")
                    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");


            if (chartType == 'bar') {
                svg
                        .selectAll(".bar") //makes bar
                        .data(tempData)
                        .enter().append("rect")
                        .attr("class", "bar")
                        .style("fill", "teal")
                        .attr("x", function(d) {
                            return xScale(d.date);
                        }).attr("width", xScale.rangeBand())
                        .attr("y", function(d) {


                            return yScale(selectValue(d));
                        }).attr("height", function(d) {

                    console.log("as", d.value);
                    return height - yScale(selectValue(d));
                })
            }

            if (chartType == 'line') {
                svg.append("path") // Add the line path.
                        .data(tempData)
                        .attr("class", "line")
                        .attr("d", line(tempData));
            }

        }
        d3.json(jsonURL, function(data) {

            myData = data; //data from json in mydata
           d.val003.replace(",",".")
            myData.forEach(function(d) {

                d.date = new Date(d.date);
                d.date = new Date(d.date + " UTC");

            });

            $("#listbox").on("click", function() {

                var key = $(this).val();
                console.log("key:", key);
                var value = $('#listbox option:selected').text();
                console.log("vaue:", value);

                selectop = String(key);

                selectop = selectop.slice(-2);
                console.log("mydata: ", myData);
                console.log("selectops:", selectop);

                fliterdata = filterJSON(myData, key, value); //selected value from user and picks the whole element that contains that attribute

                console.log("fliterdata: ", fliterdata);
                tempData = fliterdata; //graph made by temp data
                if (selectDate)
                    render(true);
            });
        });

        function selectChartType(type) {
            chartType = type;
            render(true);
        }
    </script>
    </body>
</div>
</body>
</html>

var jsonURL='avb.json';
var myData=[];
var fliterdata=[];
var tempdata=[];
var selectop=“”;
var-selectDate=false;
var chartType=chartType | |“bar”;
函数filterJSON(json、键、值){
var结果=[];
for(json中的var foo){
var-extractstr=json[foo][key];
extractstr=字符串(extractstr);
if(提取str.slice(3)=值){
push(json[foo]);
}
}
返回结果;
}
函数selectValue(d){
开关(selectop){//d对象为Y轴选择特定值
案例“01”:
返回d.val001;
打破
案例“02”:
返回d.val002;
打破
案例“03”:
返回d.val003;
打破
案例“04”:
返回d.val004;
打破
违约:
//console.log(“默认”);
返回d.val001;
}
}
var line=d3.svg.line()
.x(功能(d){
返回xScale(d.日期);
})
.y(功能(d){
返回yScale(选择值(d));
})
.插入(“单调”)
.张力(0.9);
yScale.domain([0,d3.max(tempData,function(d)){
return+selectValue(d);
})]);
var svg=d3。选择(“#图表”)。追加('svg')
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
如果(图表类型=='bar'){
svg
.selectAll(“.bar”)//生成条
.数据(临时数据)
.enter().append(“rect”)
.attr(“类”、“条”)
.样式(“填充”、“青色”)
.attr(“x”,函数(d){
返回xScale(d.日期);
}).attr(“宽度”,xScale.rangeBand())
.attr(“y”,函数(d){
返回yScale(选择值(d));
}).attr(“高度”,功能(d){
console.log(“as”,d.value);
返回高度-yScale(选择值(d));
})
}
如果(图表类型=='line'){
append(“path”)//添加行路径。
.数据(临时数据)
.attr(“类”、“行”)
.attr(“d”,行(tempData));
}
}
json(jsonURL,函数(数据){
myData=data;//myData中来自json的数据
d、 val003.替换(“,”,“)
myData.forEach(函数(d){
d、 日期=新日期(d.日期);
d、 日期=新日期(日期+UTC);
});
$(“#列表框”)。在(“单击”,函数(){
var key=$(this.val();
控制台日志(“键:”,键);
var值=$(“#列表框选项:选定”).text();
控制台日志(“vaue:,值);
选择op=字符串(键);
selectop=selectop.slice(-2);
log(“mydata:,mydata”);
console.log(“selectops:,selectop”);
fliterdata=filterJSON(myData,key,value);//从用户处选择值并选择包含该属性的整个元素
log(“fliterdata:”,fliterdata);
tempData=fliterdata;//由temp数据生成的图形
如果(选择日期)
渲染(真实);
});
});
函数selectChartType(类型){
图表类型=类型;
渲染(真实);
}
试试这个

return d.val003.toString().replace(",",".");

Yo可以简单地在JSon对象中请求一个值——它在JavaScript中几乎充当一个对象

因此,如果您有JSon对象,让我们将其称为JSon,您只需执行以下操作:

var url = *your url*, json;

// retrieve the json object from a URL
$.getJSON(url, function (response) {$
    json = response;
});

// reassing val003 with the corrected string
json.val003 = json.val003.replace(",", ".")

我相信这应该行得通。

如果要替换的十进制数中始终是逗号,那么可以在整个json字符串中搜索替换“number”“comma”“number”序列,如:

并将其替换为:

$1.$2
$1和$2是逗号前后找到的数字的占位符。 您可以使用此网站进行在线测试:

.replace(“,”,”)可以与json数据d.val003一起使用。replace(“,”,”)你的意思是我应该在我的“开关盒”中使用staments?你可以在那里使用,如果每个d.val003都从那里返回,并且它似乎是这样工作的,给出一个tryit,表示未解析的变量val003..见我上面指定的。你能修改一下你的代码吗?然后我可以给出一个快照,我应该在你的开关返回中写这个,或者你可以把它放在哪里当您返回此值时,任何地方都可以。如果您有json对象,则只有最后一行才重要。
$1.$2