Javascript 调用循环中数组的索引导致错误

Javascript 调用循环中数组的索引导致错误,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,所以我基本上导入了一个JSON文件。我得到了很多数组,每个数组中有4个元素。我想将每个数组中的第三个元素解析为它自己的变量数组 $("#nextQ").click(function() { var Quotes = []; var totalQ //The total number of available quotes to choose from //Get quotes from JSON file $.ajax({ url: '../facts.json',

所以我基本上导入了一个JSON文件。我得到了很多数组,每个数组中有4个元素。我想将每个数组中的第三个元素解析为它自己的变量数组

$("#nextQ").click(function() {

  var Quotes = [];
  var totalQ //The total number of available quotes to choose from

  //Get quotes from JSON file
  $.ajax({
    url: '../facts.json',
    datatype: 'json',
    type: 'get',
    success: function(data) {
      console.log(data[0][2]); //This WORKS
      console.log(data.length); //Returns 64

      totalQ = data.length;

      for (i = 0; i <= totalQ; i++) {
        Quotes[i] = data[3][2]; //This WORKS
        Quotes[i] = data[i][2]; //This gives ERROR

      }
    }
  });

});
$(“#nextQ”)。单击(函数(){
var报价=[];
var totalQ//可供选择的可用报价的总数
//从JSON文件获取引号
$.ajax({
url:“../facts.json”,
数据类型:“json”,
键入:“get”,
成功:功能(数据){
console.log(数据[0][2]);//这很有效
console.log(data.length);//返回64
totalQ=data.length;

对于(i=0;i您需要从
i
更新
for
循环条件,谢谢,知道为什么这会在第2个索引而不是第64个?或更多jQuery'ish->
$上给我一个错误吗{…
@Badrush-数组中的第一个索引是零,但是
长度实际上从1开始,因为如果数组有一个项,那么长度将是
1
,但该项将位于
数组[0]
。循环时,循环到
array.length-1
,但循环直到
i
与长度相同,因此您尝试查找
array[length]
,但这并不正确exists@Badrush,
data[data.length]
将是未定义的,您正在尝试获取
未定义的
的属性。您尝试访问的属性是
2
,它是
未定义的
。谢谢,这很有效。如果错误没有告诉我问题出在第二个索引(随机???@Badrush,
数据[data.length]上,我会发现这个问题的
将是未定义的,您正在尝试获取
未定义的属性
for (i = 0; i < totalQ; i++) {
    Quotes[i] = data[i][2]; 
}
$.each(data,function(i,v){
  Quotes[i] = v[2]; 
})
Quotes = data.map(function(v){
  return v[2]; 
})