Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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 访问Ajax调用中加载的数组元素_Javascript_Jquery - Fatal编程技术网

Javascript 访问Ajax调用中加载的数组元素

Javascript 访问Ajax调用中加载的数组元素,javascript,jquery,Javascript,Jquery,我通过一个Ajax调用从数据库中得到一组逗号分隔的字符串,如下所示 b-819-0,b-819-1,b-819-2 我尝试使用 let imgNames = []; imgNames.push(obj[i]['indicators'].split(',')); 现在登录阵列看起来正常,如下所示: 但是当我尝试访问循环中的元素时 for (let i = 0; i <2; i++) { inx += '<li class="list-inline-item"> &

我通过一个Ajax调用从数据库中得到一组逗号分隔的字符串,如下所示

b-819-0,b-819-1,b-819-2
我尝试使用

let imgNames = []; 
imgNames.push(obj[i]['indicators'].split(','));
现在登录阵列看起来正常,如下所示:

但是当我尝试访问循环中的元素时

 for (let i = 0; i <2; i++) { 
  inx += '<li class="list-inline-item"> <div class="product" data-fname="'+imgNames[i]+'"></div></li>';
  }  

for(设i=0;iimgNames是一个只有一个元素的数组,即逗号分隔数组

发生这种情况是因为您正在将
obj[i]['indicators'].split(',')
推入空imgNames数组

您的代码应该是:

let tuples = obj[i]['indicators'].split(',')
tuples.forEach(imgNames.push)
假设imgNames不是空的


如果没有,那么只需执行
让imgNames=obj[i]['indicators'].split(',')
imgNames是一个只有一个元素的数组,即逗号分隔数组

发生这种情况是因为您正在将
obj[i]['indicators'].split(',')
推入空imgNames数组

您的代码应该是:

let tuples = obj[i]['indicators'].split(',')
tuples.forEach(imgNames.push)
假设imgNames不是空的


如果没有,那么只需执行
让imgNames=obj[i]['indicators'].split(',')
您正在第一个元素中推送一个数组

使用
concat
而不是
push

您正在第一个元素中推进一个数组

使用
concat
而不是
push
您可以使用将每个项添加到数组中,这样就不会有数组数组,而是字符串数组

let imagNames = ['img-1', 'img-2']
imgNames.push(...obj[i]['indicators'].split(','))
将导致以下结果:

imageNames = ['img-1', 'img-2', 'b-819-0', 'b-819-1', 'b-819-2']
而不是导致:

imageNames = [
  'img-1', 'img-2',
  ['b-819-0', 'b-819-1', 'b-819-2']
]
您可以使用将每个项添加到数组中,这样就不会有数组数组,而是字符串数组

let imagNames = ['img-1', 'img-2']
imgNames.push(...obj[i]['indicators'].split(','))
将导致以下结果:

imageNames = ['img-1', 'img-2', 'b-819-0', 'b-819-1', 'b-819-2']
而不是导致:

imageNames = [
  'img-1', 'img-2',
  ['b-819-0', 'b-819-1', 'b-819-2']
]

我想你在找:
imgNames.push(…obj[I]['indicators'].split(',);
我想你在找:
imgNames.push(…obj[I]['indicators'].split(',);
你错过了作业,回到
imageNames=imageNames.concat(…)
您缺少分配,请返回到
imageNames=imageNames.concat(…)