Underscore 使用01|快速学习

简介: Underscore 使用01

开发者学堂课程【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多个函数,包括常用的: mapfilter、invoke-当然还有更多专业的辅助函数,如:函数定、JavaScript模板功能、创建快速索引、强类型相等测试等

为了能仔细研读,这里包含了一个完整的测试套

还可以通读带有注释的源码。

享受 Underscore 所带来的便利吧。如果你希望获得更多有用的功,可以试试Underscore-contnb

本项目托管GitHub上。你可以在 jssues page 或 Freenode上的# documentcloud 道内报告bug以及参与特性讨论


二、应用

标记:

image.png

并没有详细的介绍,有官网,官网上可以看到详细的内容。

通过函数分装可以实现实践的延长。

Zip:

zip _.zip(*arrays)

将每个arrays中相应位置的值合并在一起,在合并分开保存的数据时很有用如果你用来处理矩阵嵌套数组时, _.zip.apply可以做类似的效果。

_.zip([moe,larry,curly],[30,40,50],[true,false,false]);   //三个数组压缩为一个小数组,每一个小数组内又包含了第一个数组中第一个元素,第二个数组中的第一个元素,第三个数组中的第一个元素组成一个新的数组。

=>[[“moe”,30,true],[“larry”,40,false],[curly,50,fals]]

_.zip.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 里面有很多,可以自己去看看,建议抽空研究,可以帮助提高开发效率。

相关文章
|
3月前
|
JavaScript 前端开发
|
JavaScript 编译器
‘defineProps‘ is not defined.eslint no-undef 问题解决
‘defineProps‘ is not defined.eslint no-undef 问题解决
|
前端开发 JavaScript
JavaScript专题之跟着underscore学防抖
JavaScript 专题系列第一篇,讲解防抖,带你从零实现一个 underscore 的 debounce 函数
189 0
JavaScript专题之跟着underscore学防抖
|
JSON JavaScript 前端开发
Underscore 使用02|学习笔记
快速学习 Underscore 使用02
|
Java 数据库连接 数据库
map-underscore-to-camel-case驼峰式命名规则配置
mybatis默认是属性名和数据库字段名一一对应的,即 数据库表列:address_book 实体类属性:address_book 在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 例如:address_book—> addressBook 此属性在 MyBatis 中默认值为 false,在Springboot中,可以通过设置map-underscore-to-camel-case属性为true来开启驼峰功能。 application.yml中:
643 0
|
移动开发 JavaScript 前端开发
underscore 系列之如何写自己的 underscore
underscore系列第一篇,讲解 underscore 的代码组织方式
131 0
underscore 系列之如何写自己的 underscore
|
JavaScript 前端开发
underscore 系列之实现一个模板引擎(上)
underscore 提供了模板引擎的功能
223 0
underscore 系列之实现一个模板引擎(上)
|
JavaScript 前端开发
underscore 系列之实现一个模板引擎(下)
本篇接着上篇 underscore 系列之实现一个模板引擎(上)。
119 0
underscore 系列之实现一个模板引擎(下)
|
JavaScript 前端开发 网络架构
underscore 系列之内部函数 restArgs
如果不使用 ... 拓展操作符,仅用 ES5 的内容,该怎么实现呢?我们可以写一个 restArgs 函数,传入一个函数,使用函数的最后一个参数储存剩下的函数参数
106 0
underscore 系列之内部函数 restArgs