nodeschool learnyounode node.js module FILTER LS exercise

后端 未结 8 1286
面向向阳花
面向向阳花 2021-02-10 05:38

Below is the exercise 5 of nodeschool learnyounode module

Create a program that prints a list of files in a given directory, filtered by he extension of the files. You w

8条回答
  •  终归单人心
    2021-02-10 06:04

    The solution given uses the path module from Node JS package. The solution below doesn't use path, instead relies on simple deconstruction of given filename and using the parts needed.

    -Import fs module

        var fs = require('fs');
    

    -Extract the path and ext name required from cmd line

        let filePath = process.argv[2];
        let extName = process.argv[3];
    

    -Use (readdir) method to read the contents of a directory. The names of files inside the directory will be returned in the form of an array.

        fs.readdir(filePath, 'utf-8', function(err, data) {
          if (err) throw err;
    
          data.forEach(element => {
    

    -Take each element and split it into filename and extension name

          let temp = element.split('.');
          let tempSplit = temp[1];
          if(tempSplit === extName) {
            console.log(temp[0] + '.' + temp[1]);
          }
        });
    

    Whole code for reference:

        var fs = require('fs');
    
        let filePath = process.argv[2];
        let extName = process.argv[3];
    
        fs.readdir(filePath, 'utf-8', function(err, data) {
          if (err) throw err;
    
          data.forEach(element => {
          let temp = element.split('.');
          let tempSplit = temp[1];
          if(tempSplit === extName) {
            console.log(temp[0] + '.' + temp[1]);
          }
        });
    

提交回复
热议问题