`
jinhonglin001
  • 浏览: 15120 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

js-underscore的学习

 
阅读更多

     在学习过程中是需要用到underscore.js的,所以需要从头开始认识,了解,掌握underscore.js的用法。

underscore里有许多函数,主要涉及collection、object、array、function的一些操作。

    下面是关于collection的一些函数。从官网总结一下最近用到的函数。

each

    语法

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

    描述:

    遍历list中的所有元素,按顺序用遍历输出每个元素。如果传递了context参数,则把iteratee绑定到 context对象上。每次调用iteratee都会传递三个参数:(element, index, list)。如果list是个JavaScript对象,iteratee的参数是(value, key, list))。返回list以方便链式调用。

例:

_.each([1, 2, 3], function(num){console.log(num)});
_.each({one: 1, two: 2, three: 3}, function(value,key){console.log(key)
console.log(value)});

输出:

1
2
3
one: 1, two: 2, three: 3 

 map

    语法:

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

     描述:
     通过转换函数(iteratee迭代器)映射列表中的每个值产生价值的新数组。iteratee传递三个参数:value,然后是迭代 index(或 key 愚人码头注:如果list是个JavaScript对象是,这个参数就是key),最后一个是引用指向整个list map  each的区别就是map可以接受返回值 

例:

_.map([1, 2, 3], function(num){ return num +1; });
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num +3; });
_.map([[1, 2], [3, 4]], _.first);
_.map([1,2,3],function(num){if(num > 2){return num }});
 输出:
[2, 3, 4]
[4, 5, 6]
[1, 3]
[undefined,2,3]

 我想通过第四个例子也可以稍微看出map和each的一点区别了,map是对list的值操作返回相同长度的数组,each是对list元素进行迭代,可以改变list的长度,没有返回值。

filter

    语法:

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

     描述:
遍历list中的每个值,返回包含所有通过predicate真值检测的元素值。(愚人码头注:如果存在原生filter方法,则用原生的filter方法。)

例:

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

 输出:

[2, 4, 6] 

 fiiter也是当迭代list之后只会返回出符合条件的元素,list的长度并不会发生改变。

 

这就是最近常用到的一些迭代的函数。要分清操作的对象是什么。

分享到:
评论

相关推荐

    前端项目-underscore-contrib.zip

    首先,"underscore-contrib"是基于JavaScript的轻量级库Underscore的一个扩展集,它提供了更多的功能和工具方法,以满足开发者在处理复杂业务逻辑时的需求。Underscore本身是一个强大的工具库,它为JavaScript提供了...

    前端项目-underscore.string.zip

    首先,underscore.string是underscore.js库的一个扩展,它为JavaScript的String对象添加了超过150个实用方法,涵盖了字符串处理的各个方面,如格式化、分割、查找替换、大小写转换等。这个库的设计理念是使字符串...

    underscore-analysis, underscore-1.8.3.js 源码解读 & 系列文章(完 ).zip

    总之,这个名为"underscore-analysis, underscore-1.8.3.js 源码解读 & 系列文章(完 )"的压缩包,是JavaScript开发者不可多得的学习材料。它不仅提供了一次深入学习underscore.js的机会,也是一次提高JavaScript...

    underscore-1.6.0.zip

    underscore.js是一款轻量级的JavaScript实用库,它为JavaScript开发提供了大量的实用函数,极大地增强了原生JavaScript对象的处理能力。在"underscore-1.6.0.zip"这个压缩包中,包含的就是underscore库的1.6.0版本。...

    glasgowjs-underscore:用于格拉斯哥 JS 谈话的 Underscore 的演示代码

    标题 "glasgowjs-underscore" 指向的是一个与 JavaScript 相关的项目,特别是 ...通过分析和学习这个项目中的演示代码,我们可以深入理解 Underscore.js 的功能和用法,并将其应用到自己的 JavaScript 开发实践中。

    Triple-underscore.github.io:各种Web规范的日语翻译

    标题 "Triple-underscore.github.io:各种Web规范的日语翻译" 提供了我们即将探讨的核心内容:一个项目,它专门提供Web平台相关规范的日语版本。这个项目可能包括但不限于HTML、CSS、JavaScript等Web开发基础标准的...

    source-read-underscore:源码阅读之下划线

    下划线库(Underscore.js)是JavaScript的一个轻量级库,它的设计灵感来源于Ruby语言,主要目的是为JavaScript提供一套实用的工具方法,使得代码更加简洁和可读性更强。该库支持多种数据结构的操作,如数组、对象和...

    underscore源码学习计划

    总结,Underscore.js作为一款优秀的JavaScript实用库,它的源码学习能够提升我们的编程技巧,加深对函数式编程的理解,同时也能帮助我们在项目中更好地利用这些工具,提高代码质量。通过深入学习和实践,你将能够...

    underscore-1.4.3.zip

    `underscore函数说明文档.docx`则详细阐述了各个函数的用法、参数和返回值,是学习和使用Underscore.js的重要参考资料。通过查阅这份文档,开发者可以更深入地理解每个函数的工作原理,并在实际项目中灵活应用。 四...

    underscore.js-learning:underscore.js源码学习笔记

    《深入剖析underscore.js:源码探索与学习指南》 在JavaScript的世界里,underscore.js是一个备受开发者喜爱的轻量级库,它提供了丰富的实用函数,帮助我们处理数组、对象、函数等核心数据类型,大大简化了代码。本...

    underscore.js源码

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

    js,jquery,underscore api文档

    JavaScript、jQuery和Underscore.js是Web开发中的三个重要库,它们为前端开发者提供了丰富的功能和便利性。这里,我们详细探讨这三个库的核心概念、用途和API。 首先,JavaScript是Web开发的基础,它是一种轻量级的...

    bcakbone.js中Underscore.js实现的视图与子视图

    通过学习和理解这些示例,开发者可以更好地掌握如何在实际项目中结合Backbone.js和Underscore.js,构建出高效、可维护的前端应用。同时,这个主题也鼓励开发者深入研究函数式编程的思想,提升代码质量。总之,...

    javascript函数式编程 underscore.js

    Underscore.js是一个轻量级的JavaScript实用库,它为开发者提供了大量函数式编程工具,使得在JavaScript中实践函数式编程变得更加容易。 在JavaScript中,函数式编程的核心概念包括: 1. **纯函数**:一个纯函数在...

    underscore应用

    underscore.js,简称下划线或_,是一款轻量级的JavaScript实用库,它提供了一系列高效、实用的函数,用于处理数组、对象、字符串等各种数据类型,帮助开发者更方便地进行数据操作和函数式编程。本文将深入探讨...

    underscore-analysis:underscore.js原始学习-js

    《深入剖析 underscore.js:探索 JavaScript 开源库的精髓》 在JavaScript的世界里,underscore.js(下文简称_)...无论你是初学者还是经验丰富的开发者,深入学习和理解 underscore.js 都将对你的编程生涯大有裨益。

    underscore-source-analysis:Underscore.js原始学习

    通过对Underscore.js源码的深入学习,开发者不仅可以掌握JavaScript的高级用法,还能了解到函数式编程的设计模式和优化技巧,为自己的编程生涯添加一笔宝贵的经验。同时,了解并参与到开源项目中,也是提升专业素养...

    underscoreAPI文档(英文版pdf)

    Underscore.js 是一个功能强大的 JavaScript 工具库,它提供了大量的函数式编程支持,这些支持在 Prototype.js 或 Ruby 中是常见的,但并未扩展任何内置的 JavaScript 对象。Underscore 的设计初衷是为了与 jQuery ...

    javascript-高性能javascript模版引擎-templateEngine.zip

    4. **Underscore.js/Lodash**:它们的_.template方法也提供了基本的模板功能。 5. **React JSX**:虽然不是传统意义上的模板引擎,但其组件化思想和JSX语法可以看作一种模板。 为了提升JavaScript模板引擎的性能,...

    underscore-example:Underscore.js 演示

    总结,Underscore.js作为JavaScript开发的强大辅助工具,通过“underscore-example”项目的学习,能让你深入理解并熟练运用其提供的各种功能。无论是在日常开发还是复杂项目中,掌握Underscore.js都能使你的代码更加...

Global site tag (gtag.js) - Google Analytics