【node.js】【2】使用node.js对txt文本进行排序

利用node.js对txt文本进行排序


虽然排序很简单,但是一定要注意对txt文本的处理和字符串类型的数据类型的转化


取出txt里的成绩项进行排序

在这里插入图片描述
思路:

  1. 在js里导入txt文件并将txt文件默认为一个字符串
  2. 由于分割算法比较困难,直接使用prototype里的split()方法对字符串进行分割,一定要注意分割后的结果是一个字符串数组
    在这里插入图片描述
  3. 利用txt表格里的空格符对整个字符串进分割
    第一次分割结果如下:
    在这里插入图片描述
  4. 利用字符串数组里的=对数组进行分割
    第二次分割结果如下
    在这里插入图片描述
  5. 在第二次分割后的字符串数组的基础上,利用forEach对每个数组取第二个数字的值
  6. 最重要的一点是:取到了值后,注意所取得的数字是一个字符串型,所以应该将取到的值转化为Number型,才能进行排序
  7. 对数组各个元素进行换行在这里插入图片描述
const fs = require('fs');

fs.readFile('6 成绩表.txt','utf8',function(err,dataStr){
    
    
    if(err){
    
    
        console.log('读取文件失败'+err.message);
    }else{
    
    
        const arrOld = dataStr.split(' ');
        const arrNew = [];
        arrOld.forEach(item =>{
    
    
            arrNew.push(item.split('='))
        })

        const array = [];
        arrNew.forEach(item =>{
    
    
            array.push(parseInt(item[1]))
        })

        for(var i = 0; i <= array.length-1; i++){
    
    
            for(var j = i ; j<=array.length -i -1; j++){
    
    
                if(array[j] > array[j+1]){
    
    
                    temp = array[j+1];
                    array[j+1] = array[j];
                    array[j] = temp;
                }
            }
        }
        const newStr = array.join('\r\n');
        console.log(newStr);
    }
})

结果

对整表进行排序

  1. 使用sort方法
  2. 排序完后对arrNew[index]添加等号,注意在分割好的多个数组后,一定要添加index索引号对其添加符号或者其他需要添加或i修改的东西。
const fs = require('fs');

fs.readFile('./6 成绩表.txt','utf8',function(err,dataStr){
    
    
    if(err){
    
    
        console.log('输出文件失败'+err.message);
    }else{
    
    
    const arrOld = dataStr.split(' ');
    const arrNew = [];
    arrOld.forEach(item =>{
    
    
        arrNew.push(item.split('='));
    })
    console.log(arrNew);
    arrNew.sort((a,b) => {
    
    
        // var value1 = a[1];
        // var value2 = b[1];
        return a[1] - b[1];
    })
    
    arrNew.forEach((item,index) =>{
    
    
        arrNew[index] = item.join('=');
    })

    const newarr = arrNew.join('\r\n');
    console.log(newarr);
    }
})

在这里插入图片描述


总结

提示:这里对文章进行总结:

内容都很简单,实际操作起来尤其要注意数据类型的转化。
同时帮助熟悉node.js

猜你喜欢

转载自blog.csdn.net/weixin_51612770/article/details/124977673
今日推荐