如何在 Node JS 中从目录中读取文件列表(按修改日期排序)

2024-03-15

需要从特定目录中读取文件列表,其中日期按降序或升序修改Node js.

我已经尝试过下面的代码但无法得到解决方案。

fs.readdir(path, function (err, files) {
                    if (err) throw err;
                    else {
                        var res = [];
                        files.forEach(function (file) {
                            if (file.split('.')[1] == "json") {
                                fs.stat(path, function (err, stats) {                                                                  

                                });
                                res.push(file.substring(0, file.length - 5));
                            }
                        });
                    }  

stats 参数给出 mtime 作为修改时间?

有没有办法获取带有修改日期的文件。


mtime给出 Unix 时间戳。您可以轻松转换为日期,
const date = new Date(mtime);

对于您的排序问题,您可以执行以下操作

var dir = 'mydir/';

fs.readdir(dir, function(err, files){
  files = files.map(function (fileName) {
    return {
      name: fileName,
      time: fs.statSync(dir + '/' + fileName).mtime.getTime()
    };
  })
  .sort(function (a, b) {
    return a.time - b.time; })
  .map(function (v) {
    return v.name; });
});  

files将是一个按升序排列的文件数组。
对于下降,只需替换a.time with b.time, like b.time - a.time

更新:ES6+版本

const myDir = 'mydir';

const getSortedFiles = async (dir) => {
  const files = await fs.promises.readdir(dir);

  return files
    .map(fileName => ({
      name: fileName,
      time: fs.statSync(`${dir}/${fileName}`).mtime.getTime(),
    }))
    .sort((a, b) => a.time - b.time)
    .map(file => file.name);
};

getSortedFiles(myDir)
  .then(console.log)
  .catch(console.error);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Node JS 中从目录中读取文件列表(按修改日期排序) 的相关文章

  • jquery.find() 可以只选择直接子项吗?

    我应该向 jQuery find 提供什么参数来选择元素子元素而不选择其他元素 我不能用 gt 引导选择器 而用 将选择所有后代 而不仅仅是直接子代 我知道 jQuery children 但这是一个库 因此用户能够提供自己的选择器 并且我
  • TypeError: props.render 不是一个函数(React hook 形式)

    我将方法作为我用react hook form制作的形式的道具传递 当从react hook form添加控制器时 它给了我 TypeError props render不是一个函数 我在网上找不到任何解决方案 因此感谢任何帮助 impor
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 从未用 @flow 标记的导入文件中获取类型定义

    TL DR我怎么告诉flow从未声明的导入模块导入类型定义 flow 加长版 流接缝能够从不使用流语法的文件中派生类型 请参阅示例 示例文件 flow js if Math random lt 0 5 var y hello else va
  • 无法通过节点应用程序连接到redis,两者都在docker中

    我正在尝试将我的应用程序连接到 redis 但我得到 ioredis Unhandled error event Error connect ECONNREFUSED 127 0 0 1 6379 当我做 docker exec it ed
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • Firefox 书签探索未超过 Javascript 的第一级

    我已经编写了一些代码来探索我的 Firefox 书签 但我只获得了第一级书签 即我没有获得文件夹中的链接 e g 搜索引擎 雅虎网站 谷歌网站 在此示例中 我只能访问 Search engines 和 google com 不能访问 yah
  • 模块构建失败(来自 ./node_modules/babel-loader/lib/index.js)Vue Js

    我从 GitHub 下载了一个我和我的朋友正在开发的项目 但是当我尝试运行时 npm run serve 我收到这个错误 src main js 中的错误 Module build failed from node modules babe
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • 从第 1 列中取出最小值的整行

    我有这个文件 2 1 12 2 34 1 56 1 45 3 33 2 77 1 83 2 62 3 75 3 我想像这样从第 1 列中取出最小值的整行 2 1 12 2 45 3 首先是这里 if vals 2 vals 2 gt 1 v
  • 原则 2 优先于多对一关联

    是否可以覆盖 ManyToOne targetEntity I read 这个学说文档页面 http docs doctrine project org projects doctrine orm en latest tutorials o
  • @Value -> 无法将类型“java.lang.String”的值转换为所需类型“java.lang.Integer”

    美好的一天 我正在使用 Spring 4 1 1 RELEASE 开发一个 Web 应用程序 所有 Spring 配置都是通过注释完成的 除了一件事之外它工作正常 我的项目中有一个 config properties 文件 其中包含这些行
  • 如何从 node-webkit 应用程序打开浏览器窗口?

    我有一个桌面应用程序 使用 node webkit 打包 我需要通过单击链接打开用户的默认浏览器 我在用 window open www google com 但这会打开一个新的 node webkit 窗口 而不是打开浏览器窗口 我如何打
  • JSF 视图 - 在操作上返回 null 不会更新视图

    我读过与我有同样问题的帖子JSF ViewScope 在不更新视图的操作上返回 null https stackoverflow com questions 13914594 jsf viewscope returning null on
  • UWP:PRI277:0xdef00532 - 资源“”的值冲突

    作为 Visual Studio 2017 UWP 生成过程的一部分 会运行一个名为 MakePri exe 的应用 它在我的项目中引发错误 但我不知道为什么 命令行调用是 C Program Files x86 Windows 套件 10
  • 打印文件中一行的最后一列

    我有一个不断被写入 更新的文件 我想找到包含特定单词的最后一行 然后打印该行的最后一列 该文件看起来像这样 随着时间的推移 将会添加更多 A1 B1 C1 行 A1 123 456 B1 234 567 C1 345 678 A1 098
  • Java 中的内存 OLAP 引擎 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有内存中 OLAP 切片和切块数据 Java 库 相当于 Microsoft 分析服务 特别想听听
  • 修复了页眉与页内锚点重叠的问题

    如果我在 HTML 页面中有一个非滚动标题 固定在顶部 具有定义的高度 有没有办法使用 URL 锚点 fragment部分 让浏览器滚动到页面中的某个点 但仍然尊重固定元素的高度无需 JavaScript 的帮助 http example
  • 无法在 yum 上下载 caddy 包

    我在 Amazon Linux 上使用 AWS EC2 当我尝试下载 caddy yum install caddy 时 出现以下错误 如屏幕截图所示 编辑 2022 年 11 月 19 日 A H 的回答 https stackoverf
  • 找不到所需的文件index.html - Heroku 推送错误

    我正在使用 Heroku CLI 将 React Node 应用程序推送到 Heroku 构建失败 错误为找不到所需的文件index html 我已经检查了所有文件和一切就位 不知道我错过了什么 我被困在这里一星期了 请帮我 我正在使用 H
  • 如何在搜索之前编辑 jQuery 自动完成的输入?

    我有一个自动完成框 出于本示例的目的 因为它是一个简单的示例 返回一个包含社会安全号码的列表 为了便于阅读 它们中有破折号 我想修改自动完成功能 以便如果我输入 123456789 或 123 45 6789 它将在自动完成功能中找到相同的
  • Eiffel 中的不可变类

    我正在尝试做一个不可变的POINT在埃菲尔铁塔上课 下面的代码定义了一个吗 这 NONE 的可访问性x and y田地就够了吗 我可以给类不变量写一些东西吗x x 或者我还能如何实现不变性 class POINT create make f
  • 如何在SQLAlchemy中获取游标

    我是 Python Flask 的新手 在我的项目中 我们使用以下代码创建数据库对象 app Flask name app config SQLALCHEMY DATABASE URI sqlite tmp test db db SQLAl
  • 找不到 jQuery 选择器时会发生什么?

    如果我通过了一项selector as a parameter到一个函数 selector is an object function selector selector trigger eventHere 显然 event如果select
  • 从套接字读取二进制数据

    我正在尝试连接到服务器 然后向其发送 HTTP 请求 在本例中为 GET 这个想法是请求一个文件 然后从服务器接收它 它应该适用于文本文件和二进制文件 例如 imgs 我对文本文件没有问题 它工作得很好 但我对二进制文件有一些麻烦 首先 我
  • 枚举捕获 ALSA 设备并从中捕获

    我正在编写一个 C 程序 我想枚举系统中的所有捕获设备 实际上 我知道我有三个网络摄像头加上 集成 麦克风 识别它们并同时开始捕获它们 我使用 snd device name hint 枚举所有 PCM 设备 然后使用 snd device
  • Elasticsearch 按日期排序不正确

    在Elasticsearch文档中 有一个字段createdAt定义如下 createdAt type date format YYYY MM DD HH mm ss 当尝试按日期对记录进行排序时 我得到以下顺序 2019 10 01 07
  • 从迭代器返回对象的引用

    我想从向量返回对象的引用 并且该对象位于迭代器对象中 我怎样才能做到这一点 我尝试了以下方法 Customer CustomerDB getCustomerById const string id vector
  • 如何在 Node JS 中从目录中读取文件列表(按修改日期排序)

    需要从特定目录中读取文件列表 其中日期按降序或升序修改Node js 我已经尝试过下面的代码但无法得到解决方案 fs readdir path function err files if err throw err else var res