Array Equality S1
中文标题:数组相等性
提案概览
- 阶段: Stage 1
- 状态: 进行中
- ECMAScript 版本: —
- 同步时间: 2026年8月26日
- English original · 官方仓库
提案速览
该提案解决了缺少标准方法来比较数组相等性,特别是深度嵌套数组的问题。它提议添加一个 Array.prototype.equals 方法,执行深度比较。该提案处于早期阶段,未提及实现细节或标准化进展。
Note
以下 README 来自上游仓库,其中的阶段或状态标注可能滞后;当前信息以提案概览为准。
数组相等性
确定两个数组是否相等。
作者: Hemanth HM
冠军: Jordan Harband & Hemanth HM
动机:
今天我们没有一个直接的方法来检查两个数组是否相等,当它们是深度嵌套的数组时,检查变得更加混乱。
目前如何处理?
没有标准的方法,有一些模块,如 array-equal、deep-equal,它们的下载量分别为每周约 500 万次和 800 万次,这是深度比较的一个子集。
考虑几个例子:
node 内置:
提案:
有一个 Array.prototype.equals 方法,可能看起来像这样:
其他语言如何处理这个?
Ruby: array1.to_set == array2.to_set
Python: [1,[2,3]] == [1,[2,3]]
Java: java.util.Arrays.equal
C#: Enumerable.Except 或者 SequenceEqual