Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的多个数组doens';无法传递值_Javascript_Jquery_Arrays_Ajax - Fatal编程技术网

javascript中的多个数组doens';无法传递值

javascript中的多个数组doens';无法传递值,javascript,jquery,arrays,ajax,Javascript,Jquery,Arrays,Ajax,我试图在JS中创建一个多维数组,如下所示: 在我的app.js文件中,我有这个 var equipValue = new Array(); var selectedTrucks = new Array(); 在我的function.js文件中,我有: for (var i in selectedTrucks) { (function(i){ // Simple Ajax request that return me a Json values v

我试图在JS中创建一个多维数组,如下所示:

在我的app.js文件中,我有这个

 var equipValue = new Array(); 
 var selectedTrucks  = new Array();
在我的function.js文件中,我有:

for (var i in selectedTrucks) {
    (function(i){
        // Simple Ajax request that return me a Json values
        var ajaxUrl = '/ajaxRequest/getSingleTruckPosition/' + selectedTrucks[i];

        $.ajax({
            url: ajaxUrl,
        })
        .done(function(data) {
            if(data != null){
                //  equipValue doens't go. 
                // Unable to set property '0' of undefined or null reference
                equipValue[i] = jQuery.parseJSON(data);
             }
         });
获取原因:无法设置未定义或空引用的属性“0”? 为什么变量在我的function.js文件中不起作用,而selectedTrucks却可以完美地工作

谢谢你,伙计

编辑

做一些测试我试过这个:

 equipValue = jQuery.parseJSON(data);
所以,问题不是scoope,而是在运行时创建多维数组?还是类似的

**编辑2**

问题是:

 var selectedTrucks     = new Array();
 // other 15 lines of codes and then this:
 if(selectedTrucks === undefined || selectedTrucks.length == 0){
        cleanMapMarkers();
    }
为什么cleanMapMakers()总是在SelectedTruck为空时启动??我发现的所有问题都在这里。 谢谢

  • 更新:该值在其他地方更改或覆盖为其他类型
在您的代码中,如果selectedTrucks未定义或不是空的,可能您正在查找

if(selectedTrucks === undefined || selectedTrucks.length != 0){
        cleanMapMarkers();
    }

  • 将json文本解析为对象,但回调已返回对象

用于迭代对象属性

所以在
equipValue[i]
中,您似乎有
equipValue['131-00004131']
,这是

equipValue = {
       131-00004131: 'your data'
}

“对象不支持属性或方法“绑定…”。。。。。。显然与上一版本的Windows 10有相同的先例错误。但是ChromePerhaps也不适用,您需要为
函数(){…}
部分使用括号,然后调用
bind
,如果我删除i form index:equipValue=jQuery.parseJSON(数据);工作所以问题不在于作用域,而在于数组。。。。Javascript不喜欢在运行时创建多维数组?我并不是说这听起来很粗鲁,但是绑定
上下文
如何影响函数的
范围
<代码>设备值不能从上下文中访问。这是一个简单的问题,如下所示:选定的卡车:131-00004131、132-00004132您处于严格模式吗?如果不是,您的编辑意味着它隐式地创建了一个全局变量,遗憾的是,这并不能证明它不是一个范围问题。
for var i in *object*
equipValue = {
       131-00004131: 'your data'
}