javascript – 在循环中调用数组的索引导致错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在循环中调用数组的索引导致错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含992字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 在循环中调用数组的索引导致错误](/upload/InfoBanner/zyjiaocheng/788/2c5fe354bfe74510a1fbfec7dcc3c375.jpg)
所以我基本上导入了一个JSON文件.我找回了许多数组,每个数组中都有4个元素.我想将每个数组中的第3个元素解析为它自己的变量数组.
$("#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
}
}
});
});
当我使用data [i] [2]时,我收到此错误:Uncaught TypeError:无法读取未定义的属性“2”.但是,如果我使用数据[6] [2]或任何其他数字,则不会发生此错误.
解决方法:
您需要从i< = totalQ更新for循环条件;到i< totalQ; ,因为索引从0开始
for (i = 0; i < totalQ; i++) {
Quotes[i] = data[i][2];
}
或者您可以使用$.each()作为@adeneo建议
$.each(data,function(i,v){
Quotes[i] = v[2];
})
或者你可以使用原生的javascript map()
Quotes = data.map(function(v){
return v[2];
})
内容总结
以上是互联网集市为您收集整理的javascript – 在循环中调用数组的索引导致错误全部内容,希望文章能够帮你解决javascript – 在循环中调用数组的索引导致错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。