节点JS,传统的数据结构? (如设置等),像Java.util节点?

我爱的节点JS,来自Java背景,有兴趣甚至尝试一些项目,其中节点似乎有点延伸,如search引擎项目。

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

有没有解决这个问题的节点(或一般的JavaScript)的库? 我认为node在很多项目中有很大的潜力来替代诸如Java之类的语言,因为它在开发速度方面有如此多的优势,但是必须重新创build在更成熟的平台上被认为是理所当然的数据结构可能是一个小项目的开销太多。

我很抱歉,如果还有其他问题,但我花了一些时间search,并没有提出太多。

你看过Underscore.js吗? http://underscorejs.org/

这与java.util不是一对一的,而是提供了一些常用的实用函数。

es6内置了一个Set类:

 new Set([iterable]); 

请参阅: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

看起来JavaScript缺乏传统的数据结构

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

我不确定你真的会用Javascriptfind你要找的东西。 不过,有一些类似underscore图书馆应该能够更容易地build立你想要的结构types。

Collections.js具有列表,地图,队列,集合和堆,所有接口都是一致的。 Github上。

它不再是真的,node.js没有其他的SetMap对象。 node.js从最新的v12开始就有了它们 。

但是,当然,如果你想像Java这样的库,请检查npm或github。 您并不局限于node.js中的标准。

作为Underscore.js的一个更轻,更快的select,Lo-Dash( http://lodash.com/ )在那些日子里越来越受到重视…但这不是Java.util! 🙂

像这样: https : //github.com/PeterScott/simplesets-nodejs ,但与其他数据结构?

看看这个: https : //github.com/chenglou/data-structures

我认为它适合你正在寻找的东西。

我知道这个线程是旧的,但想要在未来的参考,并通过networkingsearch到达这里的人。 我一直在构build一个Node.js库,以解决JavaScript中标准数据结构的不可用性,类似于Java集合。 它在这里 – https://github.com/monmohan/dsjslib

贡献者欢迎:)