Javascript 节点JS,传统的数据结构?(如Set等),类似于节点的Java.util吗?

Javascript 节点JS,传统的数据结构?(如Set等),类似于节点的Java.util吗?,javascript,node.js,data-structures,set,Javascript,Node.js,Data Structures,Set,我喜欢node JS,并且来自Java背景,我甚至对在node看起来有点牵强的一些项目中尝试它感兴趣,比如搜索引擎项目 有一件事让我有点困惑,那就是JavaScript似乎缺少传统的数据结构,例如一个集合,它的精确定义甚至超出了计算机科学,因为在计算机出现之前,它已经被用于数学(基本上是一个不允许重复的列表)。在使用node JS时,似乎没有像Java.util这样的库具有我已经习惯的这些基本数据类型,我意识到我可以自己创建它们,但这只会增加项目的开销 节点(或JavaScript)是否有任何l

我喜欢node JS,并且来自Java背景,我甚至对在node看起来有点牵强的一些项目中尝试它感兴趣,比如搜索引擎项目

有一件事让我有点困惑,那就是JavaScript似乎缺少传统的数据结构,例如一个集合,它的精确定义甚至超出了计算机科学,因为在计算机出现之前,它已经被用于数学(基本上是一个不允许重复的列表)。在使用node JS时,似乎没有像Java.util这样的库具有我已经习惯的这些基本数据类型,我意识到我可以自己创建它们,但这只会增加项目的开销

节点(或JavaScript)是否有任何lib可以解决这个问题?我认为node有很大的潜力在很多项目中取代Java这样的语言,因为它在开发速度方面有很多优势,但对于一个小项目来说,必须重新创建在更成熟的平台中被视为理所当然的数据结构可能会带来太多的开销


如果还有其他类似的问题,我深表歉意,但是我花了一些时间搜索,并没有找到太多的答案。

您查看过下划线.js吗

它与java.util不是一对一的关系,但它提供了一系列常用的实用函数

JavaScript似乎缺少传统的数据结构

是的,这是javascript,数据结构的概念和实现与Java等语言完全不同

我不确定你是否真的能找到你想要的Javascript。但是,有一些这样的库应该可以更容易地构建您想要的结构类型。

类似这样的东西:,但是对于其他数据结构?

看看这个:


我认为它符合您的要求。

作为下划线.js的一种更轻、更快的替代品,Lo Dash()在那些日子里得到了越来越多的关注。。。但这不是Java.util!:-)

我知道这个帖子很老了,但我想插话以供将来参考,并供通过网络搜索来到这里的人们参考。 我一直在构建Node.js库,以解决JavaScript中标准数据结构不可用的问题,类似于Java集合。 在这里可以买到


欢迎贡献者:)

具有列表、映射、队列、集合和堆,所有这些都具有一致的接口

node.js没有
映射
对象等等,这不再是事实


当然,如果您想要像java那样的库,请检查npm或github。您不局限于node.js中的标准配置。

es6内置了一个Set类:

new Set([iterable]);

请参阅:

在harmony中有
Set
(运行
节点--harmony
)。谢谢,我不确定什么是
harmony
,你有没有链接,因为我在谷歌上搜索到的内容似乎没有显示到项目的链接这基本上是下一个ECMAScript版本正在进行的工作的名称。对于集合,请参见。您在java中也不受限制,但在语言中至少有一些一致性kernel@Gab把你的语言战争诱饵留在门口。你的评论与我的答案或OP的问题无关。注意:node.js现在实现了“开箱即用”。如果你只是像我一样寻找Set和Map,这就是你所需要的,并继续。这本质上是一个hashset吗?我想要O(1)表示包含/具有函数。