其他分享
首页 > 其他分享> > 正則表達式

正則表達式

作者:互联网

REGEXP對象
javaScript通過内置對象REGEXP支持正則表達式
兩種淡化實例化regExp對象
1.字面量 var reg =/\bis\b/ 不加g是搜索到第一个就停止,加了g之后是全文匹配。
2.構造函數 let reg = new RegExp(’\bis\b’, ‘g’);
6-7日
回调函数的弊端

嵌套层次很深,难以维护
无法正常使用return和throw
无法正常的检索堆栈信息
在多个回调之间难以建立联系

   const fs = require('fs')
    const path = require('path')

    // 声明  最大函数
    function findLargest(dir, callback){

        // 读取fs文件
        fs.readdir(dir, function (err, files){

              // 如果发生错误,就用回调函数传出错误
              if(err) return callback(err);
              // 如果正常就执行以下操作
              let count = files.length;
              let errored = false;
              let states = [];
              
              files.forEach( file => {//遍历循环
                // 去取文件的状态
                fs.stat(path.join(dir, file), (err, stat) =>{
                  // 如果发生错误,就用回调函数去传出错误
                  if(errored) return;
                  if( err ) {
                    errored = true;
                    return callback(err);
                  }
                  // 如果正常,就把文件状态放入数组status中
                  status.push(stat);
                  //count计数 等到count变成0的时候就默认读取完毕
                  if(--count === 0){
                    // 取出最大的文件
                    let largest = states.filter(funtion(stat){ return stat.isFile()})reduce(function (prev, next) {
                      if (prev.size > next.size) return prev;
                      return next;
                    })
                    callback(null, files[status[status.indexOf(largest)]]);
                  }
                })
              });

        })
    }

    // 调用寻找最大函数
    findLargest('./path/to/dir', function (err, filename){

      // 错误先行

      if(err) return console.error(err);
      console.log('largest file was:', filename);
    })

}

标签:stat,fs,return,err,表達式,正則,let,dir
来源: https://blog.csdn.net/weixin_40878286/article/details/91064701