当我在第14行运行下面的列表[i]时返回未定义,我不知道为什么。特别是因为我的第10行登录按预期返回。下面是代码,
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 });
答案 0 :(得分:1)
您希望使用小于i < list.length
而不是小于或等于<
来<=
。
数组为0索引,您开始从list[0]
获取项目,并且所有i
的项目从0到list.length - 1
,但list[list.length]
不存在