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 ... }
    

      

  • 相关阅读:
    IOI 1996 网络协议
    lougu P2344奶牛抗议
    Poj3764 The XOR-longest Path
    A Simple Problem with Integers (线段树)
    NOIP2011 选择客栈
    20181029 T3 乐谱分段
    20181029 T2 寻宝游戏
    20181029 T1 教科书般的亵渎
    NOIP2011聪明的质监员
    浅谈AC自动机
  • 原文地址:https://www.cnblogs.com/wang-jing/p/4737630.html
Copyright © 2011-2022 走看看