Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组的索引0在someEmptyArray.push(数据)之后未定义_Javascript_Arrays_Node.js_Undefined - Fatal编程技术网

Javascript 数组的索引0在someEmptyArray.push(数据)之后未定义

Javascript 数组的索引0在someEmptyArray.push(数据)之后未定义,javascript,arrays,node.js,undefined,Javascript,Arrays,Node.js,Undefined,我正在运行fs.readdir以返回目录中的文件名数组。我正在运行一些正则表达式函数来过滤掉某些我不想显示的文件名和/或文件类型 使用以下代码,我返回了一个新的筛选数组,但该数组的0索引返回未定义 对于代码格式,请提前道歉,我正在使用手机,无法使用internet访问计算机 fs.readdir('./schema', function(err,files){ var filelist = []; if(err) throw err; else{ var index

我正在运行
fs.readdir
以返回目录中的文件名数组。我正在运行一些正则表达式函数来过滤掉某些我不想显示的文件名和/或文件类型

使用以下代码,我返回了一个新的筛选数组,但该数组的0索引返回未定义

对于代码格式,请提前道歉,我正在使用手机,无法使用internet访问计算机

fs.readdir('./schema', function(err,files){
  var filelist = [];
  if(err)
    throw err;
  else{
    var index = files.length;
    while(index>0){
      filelist.push(isNOTswapfile(files[index]));
      index--;
      }
    console.log(filelist)
    }
  }
)
这将返回“[undefined,'file_1.js'] 为什么会发生这种情况?我如何摆脱它


谢谢

文件[索引]
第一次是
未定义
,因为数组的长度总是大于最大索引(基于零的索引)。将
索引--
向上移动一行,它将起作用,但是您将忽略第一个元素,因此比较
=0
或index-1以获得所有元素

fs.readdir('./schema', function(err, files) {
    var filelist = [];
    if (err) {
        throw err;
    } else {
        var index = files.length;
        while (index >= 0) {
            index--;
            filelist.push(isNOTswapfile(files[index]));
        }
        console.log(filelist)
    }
})

索引--
置于
推送之前。或者将此var index=files.length更改为var index=files.length-1;我更喜欢在
循环中使用
0>=
,而
循环用于可读性,但它不起作用。尽管文件[index-1]起作用。谢谢