本文向您介绍Node.js扩展模块——Hashish。Hashish是JavaScript的一个Hash组合子库,换句话说,它包含了一系列数据结构操作功能。
例如:
- varHash=require('hashish');
- Hash({a:1,b:2,c:3,d:4})
- .map(function(x){returnx*10})
- .filter(function(x){returnx<30})
- .forEach(function(x,key){
- console.log(key+'=>'+x);
- })
- ;
这里的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将操作每个实用的值,输出值为:
- a=>10
- b=>20
请注意,这里Hash可操纵每一个节点,所有的组合都可以在一起,让你的代码保持完美。
假如你不能或者不想用连接功能,hashish还可以每个链接的形式附加在Hash上。以这样的形式:
- varHash=require('hashish');
- varobj={a:1,b:2,c:3,d:4};
- varmapped=Hash.map(obj,function(x){
- returnx*10
- });
- console.dir(mapped);
注意,在obj hash上的代码称之为Hash.map。用Hash输出的值乘10:
{ a: 10, b: 20, c: 30, d: 40 }
在Hash.xxx链接里Hashish还能提供界面和功能的各种属性。比如:
- $node
- >varHash=require('hashish');
- >varobj={a:1,b:2,c:3,d:4};
- >
- >Hash(obj).keys
- ['a','b','c','d']
- >Hash(obj).values
- [1,2,3,4]
- >Hash(obj).length
- 4
当然,你可以通过npm安装hashish:
- npminstallhashish
本文就介绍到这,这就是Node.js扩展模块——Hashish。您了解了吗?
本文深入解析Node.js扩展模块Hashish,展示其如何通过一系列数据结构操作功能,实现对对象属性的映射、筛选和遍历。通过实例演示,详细解释了如何使用Hash构造、映射函数、筛选条件以及forEach方法,让代码简洁高效。
328

被折叠的 条评论
为什么被折叠?



