【发布时间】:2017-05-23 05:57:23
【问题描述】:
我有 JSON 文件,我使用 JSON.parse() 在 js 代码中加载它没有问题(此处显示的文件的简化示例,它的 25 项长):
{
"List": [
{ "Term": "Tos" },
{ "Term": "Gripa" },
{ "Term": "Catarro"},
{ "Term": "Flemas"}
]
}
当我迭代它时,每次迭代访问一个项目我没有问题,但是当我尝试增加索引以访问每次迭代的项目时,它会引发以下错误(代码中的注释显示存在问题的行):
console.log(searchTerms[j].Term);
TypeError:无法读取未定义的属性“术语”
var data = fs.readFileSync(searchTermsFile);
var searchTerms = JSON.parse(data);
searchTerms = searchTerms.List;
for(var j=0;j<searchTerms.length;j+=4)
{
console.log(searchTerms[j].Term);
j+=1;
console.log(searchTerms[j].Term); /****<---- THIS LINE THROWS THE ERROR ****/
}
【问题讨论】:
-
你不能等待下一个周期吗?还是您需要在循环内部访问下一项?
-
我每次迭代需要访问 5 个项目
-
你不需要
j+=1;,因为你已经有一个for循环。当您阅读时,在本例中为 3,它将转到 4 并尝试访问不存在的searchTerms[4] -
@danielgoba84 告诉我们需求
-
这是一个简化的代码,每次迭代我需要访问 5 个项目,我使用它们来创建请求,我还将连接它们以创建唯一的文件名
标签: javascript arrays json node.js