使用节点readdir并获取未定义的错误不确定为什么learnyounode

时间:2015-05-06 20:46:09

标签: javascript node.js fs

当我在第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 });

1 个答案:

答案 0 :(得分:1)

您希望使用小于i < list.length而不是小于或等于<<=

数组为0索引,您开始从list[0]获取项目,并且所有i的项目从0到list.length - 1,但list[list.length]不存在