Node JS,传统的数据结构?(如Set等),任何类似Java.util的node
Node JS, traditional data structures? (such as Set, etc), anything like Java.util for node?
我喜欢nodeJS,来自Java背景,我甚至有兴趣在一些node看起来有点吃力的项目中试用它,比如搜索引擎项目。
有一件事我有点困惑,那就是JavaScript似乎缺乏传统的数据结构,例如一个集合,它的精确定义甚至超出了计算机科学,因为它在计算机存在之前就已经在数学中使用过(基本上是一个不允许重复的列表)。当使用nodeJS时,似乎没有像Java.util这样的库拥有我已经习惯的这些基本数据类型,我意识到我可以自己创建它们,但这只会给项目增加更多的开销。
有没有针对node(或者一般的JavaScript)的库来解决这个问题?我认为node有很大的潜力在很多项目中取代Java这样的语言,因为它在开发速度方面有很多优势,但对于一个小项目来说,必须在更成熟的平台中重新创建被视为理所当然的数据结构可能会带来太多开销。
如果还有其他类似的问题,我很抱歉,但我花了一些时间搜索,没有找到太多。
es6有一个内置的Set类:
new Set([iterable]);
请参阅:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
Collections.js有列表、映射、队列、集合和堆,所有这些都具有一致的接口。Github。
JavaScript似乎缺少传统的数据结构。。。
是的,这就是javascript,数据结构的概念和实现与Java等语言截然不同。
我不确定你是否真的能用Javascript找到你想要的东西。然而,有一些像underscore
这样的库应该可以更容易地构建您想要的结构类型。
node.js没有Set
和Map
对象这一点不再成立。node.js从最新的v12开始就有了它们。
当然,如果您想要像javahas这样的库,请检查npm或github。您不局限于node.js.
你研究过Undercore.js吗?http://underscorejs.org/
它不是java.util的一对一,但它提供了一系列常用的实用程序函数。
作为Undercore.js的一个更轻、更快的替代品,Lo Dash(http://lodash.com/)那些日子越来越有吸引力。。。但这不是Java.util!:-)
看看这个:https://github.com/chenglou/data-structures
我认为它符合你的要求。
js-sdsl
一个基于C++STL的javascript标准数据结构库。
该库具有严格的时间复杂性保证,可以放心使用。
最新的测试版包括迭代器函数,这些函数可以像c++中的迭代器一样使用。
包含的数据结构
- 矢量
- 堆栈
- 队列
- 链接列表
- Deque
- 优先级队列
- Set(使用RBTree)
- 地图(使用RBTree)
- HashSet(仅供参考)
- HashMap(仅供参考)
用法
为了帮助您更好地使用,我们提供此API文档。
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何将变量数据从Java类获取到JavaScript
- MAC操作系统-如何通过Java类运行应用程序(.app)
- Node JS,传统的数据结构?(如Set等),任何类似Java.util的node
- ul添加任何地方都没有使用的附加类
- Java脚本和jquery的任何特定顺序
- 将href类插入JS文件(使用createLink)任何想法
- 如何使用 html 类或 id 在任何地方显示内容
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- 为什么为我的数据表设置类没有任何作用
- ReactCSSTransitionGroup没有添加任何类
- 控制不止一次跳水的风格's风格使用java脚本动态,使用类
- 矩形类java,带有单独的测试程序
- 匹配jQuery中任何类的所有组合
- 如何在JSDOC中标记任何类类型以获取类型提示
- 是否可以在ajax请求(JavaScript)中使用File类(Java)
- 为什么我的onclick不删除我的任何类
- 将值从jsp传递到动作类java文件
- 检查元素是否包含数组中的任何类
- jQuery - 有没有任何类(不是特定类)的子类