开发者问题收集

控制台日志中未定义 javascript 变量

2012-12-09
1882

我的全局变量“数据”收到一条消息:

 [undefined × 4] 

在控制台日志中。这应该是错误的,因为我已将 4 个元素推送到数组中。这是代码

var data = [];

         ws.onmessage = function(evt){

         var distances = JSON.parse(evt.data);
         console.log(distances);
            for(var i=0; i<buffer.length; i++) {
                if(buffer[i][0] == distances.miles) {
                    buffer[i][1][0]++;
                    }
            }               
            console.log(buffer);

            for (var i=0; i<buffer.length; i++) { 
                data.push(buffer[i][1][0]); 
            }
            console.log(data);
            draw();//redraw the graph
            data.length=0;
        }

如您所见,数据现在应该是一个包含元素的数组。

谢谢

1个回答

控制台是内存中变量的实时表示,而您使用 data.length=0; 使数组的内容无效。您应该在 data.length=0; 之前尝试使用 console.log($.clone(data)); (来自 jQuery)。

这假设您绝对确定您期望的数据确实存在。

rdiazv
2012-12-09