`

js underscore常用函数定义及用法

 
阅读更多

在underscore中我们经常会用到的函数主要有以下这些:
   each、map、filter、invoke、countBy、first、uniq、defaults
  each   _.each(list, iteratee, [context])
遍历list中的所有元素,按顺序用遍历输出每个元素。与for循环差多。

var a = [1,2,3];
_.each(a,function(num){});
console.log(a);//输出[1,2,3]

 map   _.map(list, iteratee, [context])

通过转换函数(iteratee迭代器)映射列表中的每个值产生价值的新数组。也就是通过遍历改变了值得到新的值。

_.map([1, 2, 3], function(num){ return num * 3; });
=> [3, 6, 9]
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
=> [3, 6, 9]
_.map([[1, 2], [3, 4]], _.first);
=> [1, 3]

 filter   _.filter(list, predicate, [context])

遍历list中的每个值,返回包含所有通过predicate真值检测的元素值。

var evens = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
=> [2, 4, 6]

 invoke_.invoke(list, methodName, *arguments)
list的每个元素上执行methodName方法。 任何传递给invoke的额外参数,invoke都会在调用methodName方法的时候传递给它。 也就是可以在这个函数中调用别的方法。

_.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
=> [[1, 5, 7], [1, 2, 3]]

 countBy _.countBy(list, iteratee, [context])
排序一个列表组成一个组,并且返回各组中的对象的数量的计数。类似groupBy,但是不是返回列表的值,而是返回在该组中值的数目。 可以对数组中的元素进行计数。

_.countBy([1, 2, 3, 4, 5], function(num) {
  return num % 2 == 0 ? 'even': 'odd';
});
=> {odd: 3, even: 2}

 first _.first(array, [n]) Alias: head, take
返回array(数组)的第一个元素。传递 n参数将返回数组中从第一个元素开始的n个元素。

 

_.first([5, 4, 3, 2, 1]);
=>5
_.first([5, 4, 3, 2, 1],[3]);
=>5,4,3

 uniq  _.uniq(array, [isSorted], [iteratee])

对数组或对象进行去除重复。返回 array去重后的副本, 使用 === 做相等测试. 如果您确定 array 已经排序, 那么给 isSorted 参数传递 true值, 此函数将运行的更快的算法. 如果要处理对象元素, 传递 iteratee函数来获取要对比的属性.

_.uniq([1, 2, 1, 3, 1, 4]);
=> [1, 2, 3, 4]
_.uniq([{a:1},{a:1},{a:2}],function(key){return key.a;});
=>[{a:1},{a:2}]

 defaults   _.defaults(object, *defaults)

defaults对象填充object 中的undefined属性。 并且返回这个object。一旦这个属性被填充,再使用defaults方法将不会有任何效果。

var iceCream = {flavor: "chocolate"};
_.defaults(iceCream, {flavor: "vanilla", sprinkles: "lots"});
=> {flavor: "chocolate", sprinkles: "lots"}

 

分享到:
评论

相关推荐

    javascript函数式编程 underscore.js

    《Javascript函数式编程》配套代码,适合函数式编程入门。

    backbone.js underscore.js

    backbone.js,underscore.js,jquery-1.10.2.js

    Learning Underscore.js

    If you are a developer with fundamental JavaScript knowledge and want to use modern JavaScript libraries to extend your functional programming skills, then Underscore.js is an important library you ...

    underscore.js 1.8.2

    underscore.js underscore.js underscore.js

    underscore.js

    Underscore提供了80多个函数,包括常用的: map, select, invoke — 当然还有更多专业的辅助函数,如:函数绑定, JavaScript模板功能, 强类型相等测试, 等等. 在新的浏览器中, 有许多函数如果浏览器本身直接支持,将会...

    Underscore.php——Underscore.js的php移植版

    Underscore.js是目前最好用的Javascript工具包,提供了100多个函数。Underscore.php是Underscore.js的PHP移植版,并且实现了部分Underscore.js中的功能! 我花了一个月的时间将Underscore.php的文档翻译为中文,开源...

    underscore-min.js 1.8.3

    underscore-min.js

    Learning.Underscore.js.178439381

    If you are a developer with fundamental JavaScript knowledge and want to use modern JavaScript libraries to extend your functional programming skills, then Underscore.js is an important library you ...

    Underscore javascript库 使用教程.zip

    underscore javascript库 使用教程.zip

    underscore.js帮助文档

    underscore.js的开发文档,需要使用的朋友们可以看看

    javaScript函数式编程

    全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多...

    underscore.js源码

    underscore.js源码,适合初始化学习javascript,强烈推荐

    underscore-min.js

    Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象。

    JavaScript ES6函数式编程入门经典

    《JavaScriptES6函数式编程入门经典》... ●理解真实的函数式类库,并创建一个模拟underscore.js的函数式类库  ●实践纯错误处理技术,例如函子和Monad  ●了解ES6的函数式编程特性,例如扩展运算符和Generator

    Underscore.js常用方法总结

    主要介绍了Underscore.js常用方法总结,本文讲解了Underscore.js概述、在node.js下安装、与集合有关的方法、与对象有关的方法、与函数相关的方法等内容,需要的朋友可以参考下

    使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)

    使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)使用第三方模块Underscore.js,Immutable.js,UUID(源代码+截图)使用第三方模块...

    JavaScript工具库Underscore.js.zip

    Underscore.js 是一个实用的JavaScript工具库,提供了类似 Prototype 功能的编程支持,但没有对 JavaScript 内置的对象进行扩展。 标签:Underscore

    Underscore.js 中文文档

    1.2.3的Underscore中文文档,采用网页版压缩制成的chm文件,方便查看,方便点击链接

Global site tag (gtag.js) - Google Analytics