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


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。您了解了吗?




标签:

友情链接
轻松育儿世界奇观
苏ICP备16066217号-2