使用节点 readdir 并得到一个未定义的错误不知道为什么 learnyounode
Using node readdir and getting an undefined error not sure why learnyounode
当我 运行 第 14 行 returns 下面的列表 [i] 为未定义时,我不确定为什么。特别是因为我按预期登录了第 10 行 returns。下面是代码,
1 var fs = require('fs');
2 var thatDir = process.argv[2];
3 var ext = process.argv[3];
4 var newfile;
5 fs.readdir(thatDir, function(err, list){
6 console.log(list);
7 console.log(ext);
8 console.log('banana' + list[0]);
9 var wtf = list[0].toString();
10 var anotherwtf = wtf.search('.' + ext);
11 console.log(anotherwtf);
12 console.log('wtf is ' + wtf);
13 for(var i = 0; i <= list.length; i++){
14 if ( list[i].search('.' + ext) != -1 ){
15 console.log(list[i]);
16 }
17 }
18 });
您想 i < list.length
使用小于 <
而不是小于或等于 <=
。
数组是 0 索引的,您开始从 list[0]
获取项目,并且从 0 到 list.length - 1
的所有 i
都有项目,但是 list[list.length]
不存在。
当我 运行 第 14 行 returns 下面的列表 [i] 为未定义时,我不确定为什么。特别是因为我按预期登录了第 10 行 returns。下面是代码,
1 var fs = require('fs');
2 var thatDir = process.argv[2];
3 var ext = process.argv[3];
4 var newfile;
5 fs.readdir(thatDir, function(err, list){
6 console.log(list);
7 console.log(ext);
8 console.log('banana' + list[0]);
9 var wtf = list[0].toString();
10 var anotherwtf = wtf.search('.' + ext);
11 console.log(anotherwtf);
12 console.log('wtf is ' + wtf);
13 for(var i = 0; i <= list.length; i++){
14 if ( list[i].search('.' + ext) != -1 ){
15 console.log(list[i]);
16 }
17 }
18 });
您想 i < list.length
使用小于 <
而不是小于或等于 <=
。
数组是 0 索引的,您开始从 list[0]
获取项目,并且从 0 到 list.length - 1
的所有 i
都有项目,但是 list[list.length]
不存在。