【问题标题】:Does reading file in node.js guarantee the order of itemsnode.js中的读取文件是否保证项目的顺序
【发布时间】:2019-12-19 06:28:07
【问题描述】:

在我的 node.js 应用程序中,我读取了测试数据文件以填充一些输入。测试文件包含一个对象数组。

我用于阅读:

data = fs.readFileSync(fileName, "utf8");

我的测试文件:

[
 {
  "firstname": "John",
  "lastname": "Doe",
  "birthdate": "01/01/1970"
 },
 {
  "firstname": "El",
  "lastname": "Maestro",
  "birthdate": "01/01/1989",
  "isDeleted": true
 }
]

所以问题是——当我阅读这个文件时,是否保证我总是在索引 0 处获得名称为“John”的对象,在索引 1 处获得名称为“El”的对象?

【问题讨论】:

  • 是的,这是有保证的,数组总是保持顺序
  • 目前data 只是一个字符串。但是,是的,JSON.parse 不会洗牌。

标签: javascript node.js express node-modules


【解决方案1】:

数组始终确保 JS 中的顺序

但是

对象内部的键不保证JS中的顺序,它们是'无序键值对'

回答你的问题:

当我阅读此文件时,是否保证我将始终在索引 0 处获得名称为“John”的对象,在索引 1 处获得名称为“El”的对象

是的

但是

生成的object中的键可以是无序的,例如:可以是

{
  "firstname": "John",
  "lastname": "Doe",
  "birthdate": "01/01/1970"
 }

或

{
  "lastname": "Doe",
  "birthdate": "01/01/1970",
  "firstname": "John"
 }

等等……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2012-02-23
    • 1970-01-01
    相关资源
    最近更新 更多