开发者学堂课程【Node.js 入门与实战:Underscore 使用01】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/588/detail/8285
Underscore 使用01
目录:
一、Underscore 简介
二、应用
一、Underscore 简介
Underscore是一个JavaScript工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。
他解决了这个问题:如果我面对一个空白的HTML页面,并希望立即开始工作,我需要什么?"
他弥补了 jQuery 没有文现的功能,同时又是Backbone必不可少的部分。
在npm上安装,npm上最受欢迎的几个都比较重要,可以用在浏览器端。
Underscore 提供了100多个函数,包括常用的: map、filter、invoke-当然还有更多专业的辅助函数,如:函数绑定、JavaScript模板功能、创建快速索引、强类型相等测试等等。
为了能仔细研读,这里包含了一个完整的测试套件。
还可以通读带有注释的源码。
享受 Underscore 所带来的便利吧。如果你希望获得更多有用的功能,可以试试Underscore-contnb。
本项目托管在 GitHub上。你可以在 jssues page 或 Freenode上的# documentcloud 频道内报告bug以及参与特性讨论。
二、应用
标记:
并没有详细的介绍,有官网,官网上可以看到详细的内容。
通过函数分装可以实现实践的延长。
Zip:
zip _
.
zip(
*
arrays)
将每个arrays中相应位置的值合并在一起,在合并分开保存的数据时很有用如果你用来处理矩阵嵌套数组时, _.zip.apply可以做类似的效果。
_
.z
ip(
[
‘
moe
’
,
’
larry
’
,
’
curly
’
],[30,40,50],[true,false,false]);
//三个数组压缩为一个小数组,每一个小数组内又包含了第一个数组中第一个元素,第二个数组中的第一个元素,第三个数组中的第一个元素组成一个新的数组。
=>[[“moe”
,30,true
],[“larry”
,40,false],[
“
curly
”
,50,fals
]]
_
.z
ip.apply(_,arrayofRowsOfData);
=>arrayofColumnsOfData
先安装 直接 npm install
Var
_
= require(
‘
underscore');
先引包
//演示:
var names=
[‘张三’,‘香香’,‘小黄’];
var ages =
[18,19,20];
var genders =
[‘男’,‘女’,‘女’];
//压缩
var result =_
.
zip (names,ages,genders);
//在官网文档里可以查看数组
console.log(result);
//解压
result =_
.
unzip(result);
console.log(result);
运行会产生两个结果
压缩前:[{‘张三’,18,‘男’},{‘香香’,19,‘女’},{‘小黄’,20,‘女’}]
压缩后:[{‘张三’,‘香香’,‘小黄’},{18,19,20},{‘男’,‘女’,‘女’}]
类似与这样的方法在 underscore 里面有很多,可以自己去看看,建议抽空研究,可以帮助提高开发效率。