Ash*_*Ash 1 javascript jquery json
我正在尝试为图形创建一种格式.当我尝试这样做,我得到一个undefined与console.log之前的数据.这是我的代码
$(document).ready(function () {
var graphData = new Array();
$.getJSON("ds/js.json", function (Data) {
dataLength = returnedData.data.length;
var x = new Array();
var y = new Array();
var mytext, dataa, f;
for (i = 0; i < dataLength; i++) {
x[i] = Data.data[i].avgPrice;
y[i] = Data.data[i].numProducts;
}
for (var a = 0; a < 6; a++) {
mytext = "x:" + x[a] + "," + "y:" + y[a] + "}" + "," + "{";
dataa = dataa + mytext;
}
console.log(dataa);
var f =
"[{data : [{" + dataa;
console.log(f);
});
drawGraph(graphData);
});
Run Code Online (Sandbox Code Playgroud)
控制台输出:
undefinedx:87.6,Y:85},{X:116.08,Y:61},{X:113.11,Y:49},{X:181.37,Y:65},{X:138.14,Y:74},{ X:66.03,Y:89},X:66.03,Y:89},{
我在这做错了什么?而且我想要a = 5的单独格式,它会阻止最后的",{".
当你这样做:
for (var a=0;a<6;a++){
mytext = "x:" +x[a] + "," + "y:" +y[a] + "}" + "," + "{" ;
dataa=dataa+mytext;
}
Run Code Online (Sandbox Code Playgroud)
你用dataa和执行字符串连接mytext.然而,在第一次迭代for循环dataa尚未初始化,并且该字符串表示undefined.
声明dataa变量时,请将其初始化为空字符串:
var mytext,dataa = '',f;
Run Code Online (Sandbox Code Playgroud)
另外,重要的是要记住$.getJSON()对数据进行异步请求.如果该drawGraph函数的结果对于函数正确执行是必要的,那么您的代码将不会像您预期的那样起作用(尽管您在问题中发布的内容没有确切的指示,这是这种情况).
该$.getJSON()函数将立即完成执行(在启动请求之后),允许drawGraph执行,但不能保证请求将收到响应并且returnedData将发生处理; 事实上,这种可能性很小,不会发生.
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |