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

相关文章
|
4月前
|
JavaScript 前端开发
|
索引
从underscore源码看如何实现map函数
经常会看到这样的面试题,让面试者手动实现一个 map 函数之类的,嗯,貌似并没有什么实际意义。但是对于知识探索的步伐不能停止,现在就来分析下如何实现 map 函数。
101 0
从underscore源码看如何实现map函数
LeetCode 205. Isomorphic Strings
给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。
84 0
LeetCode 205. Isomorphic Strings
|
前端开发 JavaScript
JavaScript专题之跟着underscore学防抖
JavaScript 专题系列第一篇,讲解防抖,带你从零实现一个 underscore 的 debounce 函数
190 0
JavaScript专题之跟着underscore学防抖
|
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中:
654 0
|
JSON JavaScript 前端开发
Underscore 使用02|学习笔记
快速学习 Underscore 使用02
|
安全 Java API
【精通函数式编程】(九) Optional实战大全
本讲了解null的缺陷,了解为什么用Optional 取代null,学习Optional 的必要性,代码里怎么用Optional 才能更优雅
|
前端开发 开发工具 开发者
brackets 介绍|学习笔记
快速学习 brackets 介绍
|
移动开发 JavaScript 前端开发
underscore 系列之如何写自己的 underscore
underscore系列第一篇,讲解 underscore 的代码组织方式
135 0
underscore 系列之如何写自己的 underscore
|
JavaScript 前端开发
underscore 系列之实现一个模板引擎(下)
本篇接着上篇 underscore 系列之实现一个模板引擎(上)。
121 0
underscore 系列之实现一个模板引擎(下)