Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 使用全局数组_Javascript_Ajax_Arrays - Fatal编程技术网

Javascript 使用全局数组

Javascript 使用全局数组,javascript,ajax,arrays,Javascript,Ajax,Arrays,我想使用从请求中获得的值,但响应对象是一个局部变量(数组)。因此,我创建了这个全局数组: <script type="text/javascript"> var response = []; 然后添加了这个,目的是利用我从响应对象的全局变量中得到的值: getIdOfProductBySize: function() { var selectedIndex = document.getElementById('dropdown_options').value

我想使用从请求中获得的值,但响应对象是一个局部变量(数组)。因此,我创建了这个全局数组:

<script type="text/javascript">
    var response = [];
然后添加了这个,目的是利用我从响应对象的全局变量中得到的值:

getIdOfProductBySize: function() {
        var selectedIndex = document.getElementById('dropdown_options').value;
        for (var key in response) {
            if (key != selectedIndex) { 
                continue; 
            } else { 
                return response[key]; 
            }
        }   
    }
不起作用,所以我开始一步一步地(按照我添加新内容的顺序)进行,我注意到脚本在我添加的第二个内容(其中
forEach
是)之后中断

可能我没有正确地声明全局变量,或者可能我无法以这种方式访问它,或者可能我没有以正确的方式为它赋值,我不知道,所以我想问是否有人可以给我一个提示,如何利用所有这些协同工作

response[element.id] = element.size;

试试这个,我相信
元素。size
返回元素的实际大小,而不是您想在数组中用作索引的大小。

看起来您需要一个二维数组

在我看来,您的“键”值未定义

之前:

for (var key in response) {
尝试:

如果有道理的话?

试试这个:

var response = {key1: value1};

var i = 2;
jsonResponse.forEach(function(entry) {
   console.log(entry);
   response["key"+i] = entry.id;
   i++;
});


var index;
for (index = 0; index < response.length; ++index)
{
    console.log(response[index]);
    if(response["key"+index] !== selectedIndex)
      continue;
    else
      return response["key"+index]; 
}
var-response={key1:value1};
var i=2;
forEach(函数(条目){
控制台日志(条目);
响应[“键”+i]=entry.id;
i++;
});
var指数;
对于(索引=0;索引
没有。它是数组中索引的键,我正在另一个地方成功地使用它。假设jsonResponse看起来是这样的:
array('id'=>123,'size'=>47)
。因此,我想以相同的方式将值分配给
响应
全局变量。然后您想以另一种方式使用它们,请参阅我的答案。就像在数组中也使用ID作为索引一样?您是在谈论第二个函数中的
forEach
循环还是
for
循环?好的,听起来不错。但我需要一个带键和值的数组。这样:
数组('id'=>123,'size'=>47)
var k=response.whatever;
var response = {key1: value1};

var i = 2;
jsonResponse.forEach(function(entry) {
   console.log(entry);
   response["key"+i] = entry.id;
   i++;
});


var index;
for (index = 0; index < response.length; ++index)
{
    console.log(response[index]);
    if(response["key"+index] !== selectedIndex)
      continue;
    else
      return response["key"+index]; 
}