Nodejs 推荐两个库 shortid、hashmap,唯一标识生成和HashMap

Nodejs 推荐两个库 shortid、hashmap,唯一标识生成和HashMap

一、ShortId https://github.com/dylang/shortid

ShortId 能创建惊奇的不重复的url友好的唯一标识。

使用方法 var shortId = require(‘shortid’); console.log(shortId.generate());

二、HashMap 原生javascript是没有map数据结构的,借助一个库,实现了map所有功能

https://github.com/flesler/hashmap


5 回复

Node.js 推荐两个库 shortid、hashmap,唯一标识生成和HashMap

一、ShortId

ShortId 是一个用于生成短小且唯一的标识符的库。这些标识符可以用来生成 URL 友好的字符串,非常适合用于数据库中的唯一键或短链接。

GitHub 地址:

使用方法:

首先,你需要安装 shortid 库:

npm install shortid

然后,你可以在你的 Node.js 项目中使用它来生成唯一的标识符:

const shortid = require('shortid');

// 生成唯一的标识符
console.log(shortid.generate());

每次调用 shortid.generate() 都会返回一个新的唯一标识符。默认情况下,这些标识符是短小且 URL 友好的。

二、HashMap

虽然 JavaScript 的原生对象(如 Map)提供了类似的功能,但有时我们可能需要一个更符合传统 Map 数据结构的库。hashmap 库提供了一个类似于 Java 中 HashMap 的数据结构。

GitHub 地址:

使用方法:

首先,你需要安装 hashmap 库:

npm install hashmap

然后,你可以在你的 Node.js 项目中使用它来存储和检索数据:

const HashMap = require('hashmap');
const map = new HashMap();

// 添加键值对
map.set('key1', 'value1');
map.set('key2', 'value2');

// 获取值
console.log(map.get('key1')); // 输出 "value1"

// 检查是否存在某个键
console.log(map.has('key2')); // 输出 true

// 遍历所有的键值对
map.forEach((value, key) => {
    console.log(`${key}: ${value}`);
});

// 删除键值对
map.delete('key1');

// 清空所有键值对
map.clear();

通过上述示例代码,你可以看到如何使用 shortidhashmap 库来生成唯一的标识符以及实现 HashMap 数据结构。这两个库都非常实用,能够帮助你在 Node.js 项目中处理常见的数据需求。


不错,两个库都很小巧。

自己集成到Underscore里,这样就更方便了。

我们一直用的 object 本身不就是 类hashmap的结构么? 为何还需要再实现一套hashmap呢? 突然想到之前有人 用node 自己实现 singleton… -_-
觉得应该多利用 js 和 node 语言本身给我们的优势 ~

js object 不支持 key 为非 string 类型。

同时,很容易写出这种错误的代码。

var map = {};
if (map.constructor) {
  console.log('it should not in here, but it just happened');
}

当然,几乎99%的情况下,node object 就已经够用了,不过还是有一些东西需要注意的。

当然可以!以下是关于 shortidhashmap 的示例代码及简要说明:

1. shortid

shortid 是一个用于生成唯一且短小的字符串的库。这些字符串不仅唯一,而且URL友好。

安装

npm install shortid

示例代码

const shortid = require('shortid');

// 生成一个唯一标识符
console.log(shortid.generate());

解释

  • shortid.generate() 方法会生成一个独特的ID字符串,通常用来作为URL的一部分或者数据库中的记录ID。

2. hashmap

hashmap 是一个实现Map数据结构的库,它提供了类似于JavaScript对象的方法来操作键值对。

安装

npm install hashmap

示例代码

const HashMap = require('hashmap');
const map = new HashMap();

// 添加键值对
map.set('key1', 'value1');
map.set('key2', 'value2');

// 获取键对应的值
console.log(map.get('key1')); // 输出: value1

// 遍历键值对
map.forEach((value, key) => {
    console.log(`${key}: ${value}`);
});

// 检查某个键是否存在
console.log(map.has('key2')); // 输出: true

// 删除键值对
map.delete('key1');
console.log(map.has('key1')); // 输出: false

解释

  • set(key, value) 方法将键值对添加到哈希表中。
  • get(key) 方法根据键获取对应的值。
  • forEach 方法可以遍历所有的键值对。
  • has(key) 方法检查指定的键是否存在于哈希表中。
  • delete(key) 方法删除指定的键值对。

这两个库分别解决了唯一标识符生成和键值对管理的问题,非常适合在Node.js应用中使用。

回到顶部