zoukankan      html  css  js  c++  java
  • 你应该知道的Node.js扩展模块——Hashish

    本文向您介绍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. ;  
    10.  

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

  • 相关阅读:
    在Visual Studio 2019中配置OpenCV环境
    Java中的垃圾回收
    线程池
    Java中锁优化
    二叉树的几种遍历
    java中Comparator的用法(排序、分组)
    java8 stream
    Java后台生成二维码并上传到阿里云OSS
    代码生成器的成长过程
    软件的军工六性
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468575.html
Copyright © 2011-2022 走看看