README.zh-CN.md 5.5 KB

js-sdsl logo

一个参考 C++ STL 实现的 JavaScript 标准数据结构库

NPM Version Build Status Coverage Status GITHUB Star NPM Downloads Gzip Size Rate this package MIT-license GITHUB-language

English | 简体中文

包含的数据结构

  • Vector
  • Stack
  • Queue
  • LinkList
  • Deque
  • PriorityQueue
  • OrderedSet (using RBTree)
  • OrderedMap (using RBTree)
  • HashSet
  • HashMap

Benchmark

我们和其他数据结构库进行了基准测试,在某些场景我们甚至超过了当前最流行的库

查看 benchmark 以获取更多信息

支持的平台

  • node.js (using commonjs)
  • react/vue (using es5)
  • browser (support most browsers)

下载

使用 cdn 直接引入

使用 npm 下载

npm install js-sdsl

使用说明

您可以访问我们的主页获取更多信息

并且我们提供了完整的 API 文档供您参考

在浏览器中使用

<!-- you can download the file locally and import it or import it dynamically by using url. -->
<script src="https://unpkg.com/js-sdsl/dist/umd/js-sdsl.min.js"></script>
<script>
    const { 
      Vector,
      Stack,
      Queue,
      LinkList,
      Deque,
      PriorityQueue,
      OrderedSet,
      OrderedMap,
      HashSet,
      HashMap
    } = sdsl;
    const myOrderedMap = new OrderedMap();
    myOrderedMap.setElement(1, 2);
    console.log(myOrderedMap.getElementByKey(1)); // 2
</script>

npm 引入

// esModule
import { OrderedMap } from 'js-sdsl';
// commonJs
const { OrderedMap } = require('js-sdsl');
const myOrderedMap = new OrderedMap();
myOrderedMap.setElement(1, 2);
console.log(myOrderedMap.getElementByKey(1)); // 2

从源码构建

您可以克隆此仓库后运行 yarn build 命令重新构建这个库

测试

单元测试

我们使用 jest 库来编写我们的单元测试,并将结果同步到了 coveralls 上,你可以使用 yarn test:unit 命令来重建它

对于性能的校验

我们对于编写的所有 API 进行了性能测试,并将结果同步到了 gh-pages/performance.md 中,你可以通过 yarn test:performance 命令来重现它

您也可以访问我们的网站来获取结果

维护者

@ZLY201

贡献

我们欢迎所有的开发人员提交 issue 或 pull request,阅读贡献者指南可能会有所帮助

贡献者

感谢对本项目做出贡献的开发者们:


Takatoshi Kondo

💻 ⚠️

本项目遵循 all-contributors 规范。 欢迎任何形式的贡献!

许可证

MIT © ZLY201