zoukankan      html  css  js  c++  java
  • underscore chain

    //可以在面向对象或者函数的风格下使用Underscore
    _.map([1, 2, 3], function(n){ return n * 2; }); //一般习惯用这种 _([1, 2, 3]).map(function(n){ return n * 2; });

    _.chain(obj):在封装对象上调用方法,会返回封装对象本身,原始值存放在_wrapped属性中;

    _.value():获取封装对象的值;

    对一个对象使用 chain 方法, 会把这个对象封装并 让以后每次方法的调用结束后都返回这个封装的对象, 当您完成了计算, 可以使用 value 函数来取得最终的值. 以下是一个同时使用了 map/flatten/reduce 的链式语法例子, 目的是计算一首歌的歌词里每一个单词出现的次数.

    var lyrics = [
      {line: 1, words: "I'm a lumberjack and I'm okay"},
      {line: 2, words: "I sleep all night and I work all day"},
      {line: 3, words: "He's a lumberjack and he's okay"},
      {line: 4, words: "He sleeps all night and he works all day"}
    ];
    
    _.chain(lyrics)
      .map(function(line) { return line.words.split(' '); })
      .flatten()
      .reduce(function(counts, word) {
        counts[word] = (counts[word] || 0) + 1;
        return counts;
      }, {})
      .value();
    
    => {lumberjack: 2, all: 4, night: 2 ... }
    

      

  • 相关阅读:
    centos 用户管理
    rsync 实验
    文件共享和传输
    PAT 1109 Group Photo
    PAT 1108 Finding Average
    PAT 1107 Social Clusters
    PAT 1106 Lowest Price in Supply Chain
    PAT 1105 Spiral Matrix
    PAT 1104 Sum of Number Segments
    PAT 1103 Integer Factorization
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4737630.html
Copyright © 2011-2022 走看看