你应该知道的Node.js扩展模块——Hashish

开发 前端
本文向您介绍Node.js扩展模块——Hashish。Hashish是JavaScript的一个Hash组合子库,换句话说,它包含了一系列数据结构操作功能。

51CTO推荐专题:Node.js专区

本文向您介绍Node.js扩展模块——Hashish。Hashish是JavaScript的一个Hash组合子库,换句话说,它包含了一系列数据结构操作功能。

例如:

  1. var Hash = require('hashish');    
  2.    
  3. Hash({ a : 1, b : 2, c : 3, d : 4 })    
  4. .map(function (x) { return x * 10 })    
  5. .filter(function (x) { return x < 30 })    
  6. .forEach(function (x, key) {    
  7. console.log(key + ' => ' + x);    
  8. })    
  9. ;   

这里的Hash构造是{ a : 1, b : 2, c : 3, d : 4 };接下来,映射一个函数,每个Hash值乘以10,这时Hash演变成{ a : 10, b : 20, c : 30, d : 40 };然后进行筛选,过滤掉低于30的值,此时Hash为{ a : 10, b : 20 },***,forEach将操作每个实用的值,输出值为:

  1. a => 10    
  2. b => 20 

请注意,这里Hash可操纵每一个节点,所有的组合都可以在一起,让你的代码保持***。

假如你不能或者不想用连接功能,hashish还可以每个链接的形式附加在Hash上。以这样的形式:

  1. var Hash = require('hashish');    
  2. var obj = { a : 1, b : 2, c : 3, d : 4 };    
  3.    
  4. var mapped = Hash.map(obj, function (x) {    
  5.     return x * 10    
  6. });    
  7.    
  8. console.dir(mapped);  

注意,在obj hash上的代码称之为Hash.map。用Hash输出的值乘10:

{ a: 10, b: 20, c: 30, d: 40 }

在Hash.xxx链接里Hashish还能提供界面和功能的各种属性。比如:

  1. $ node    
  2. var Hash = require('hashish');    
  3. var obj = { a : 1, b : 2, c : 3, d : 4 };    
  4. >   
  5. > Hash(obj).keys    
  6. 'a''b''c''d' ]    
  7. > Hash(obj).values    
  8. [ 1, 2, 3, 4 ]    
  9. > Hash(obj).length    
  10. 4   

当然,你可以通过npm安装hashish:

  1. npm install hashish  

本文就介绍到这,这就是Node.js扩展模块——Hashish。您了解了吗?

【编辑推荐】

  1. Node.js提速指南
  2. Node.js开发的桌面应用TermKit介绍
  3. Node.js初体验
  4.  一个基于Node.js的AMF实现
  5. Node.js专区
责任编辑:陈贻新 来源: catonmat
相关推荐

2022-11-16 08:43:30

Node.js模块

2020-12-30 11:22:11

Node.js前端模块

2021-11-16 08:51:29

Node JavaScript变量类型

2024-04-26 09:03:31

Node.jsCurrent发布版

2021-09-26 05:06:04

Node.js模块机制

2020-04-15 15:48:03

Node.jsstream前端

2019-12-17 11:40:44

Node.js模块前端

2020-12-28 19:13:11

Node.js后端框架

2022-09-04 15:54:10

Node.jsAPI技巧

2023-06-30 23:25:46

HTTP模块内存

2021-09-06 10:05:42

Chrome浏览器

2011-09-08 14:07:28

Node.js

2013-11-01 09:34:56

Node.js技术

2015-03-10 10:59:18

Node.js开发指南基础介绍

2023-06-20 19:35:00

Node.js工具

2021-01-26 08:07:44

Node.js模块 Async

2020-08-31 15:00:17

Node.jsrequire前端

2020-05-29 15:33:28

Node.js框架JavaScript

2012-02-03 09:25:39

Node.js

2021-12-25 22:29:57

Node.js 微任务处理事件循环
点赞
收藏

51CTO技术栈公众号