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

相关文章
|
2月前
|
JavaScript 前端开发
|
缓存 监控 JavaScript
面试题-TS(八):什么是装饰器(decorators)?如何在 TypeScript 中使用它们?
在TypeScript中,装饰器(`Decorators`)是一种用于增强代码功能的特殊类型声明。装饰器提供了一种在类、方法、属性等代码元素上注释或修改的方式,使得我们可以通过装饰器来扩展、修改或监视代码的行为。通过使用装饰器,我们可以在不修改原始代码的情况下,给代码添加新的功能,提高代码的可维护性和灵活性。
|
JSON JavaScript 前端开发
终于搞懂了 ESM 和 CJS 互相转换
终于搞懂了 ESM 和 CJS 互相转换
439 0
|
JavaScript 前端开发
📕 重学JavaScript:如何手写一个`filter`高阶函数?
`filter` 高阶函数是一个非常常用的数组方法,可以让你用一种简单的方法来筛选数组里的元素。
112 0
|
JSON 自然语言处理 JavaScript
怎么理解AST,并实现手写babel插件
怎么理解AST,并实现手写babel插件
191 0
|
Rust 前端开发 JavaScript
前端AST详解,手写babel插件(一)
前端AST详解,手写babel插件
253 0
前端AST详解,手写babel插件(一)
|
设计模式 自然语言处理 JavaScript
前端AST详解,手写babel插件(二)
前端AST详解,手写babel插件
333 0
前端AST详解,手写babel插件(二)
|
JavaScript 前端开发 索引
JS查漏补缺——arguments
JS查漏补缺系列是我在学习JS高级语法时做的笔记,通过实践费曼学习法进一步加深自己对其的理解,也希望别人能通过我的笔记能学习到相关的知识点。这一次我们来了解一下这个现在不推荐使用但在代码中还是会看到的arguments,免得见到的时候摸不着头脑
183 0
|
前端开发 JavaScript
JavaScript专题之跟着underscore学防抖
JavaScript 专题系列第一篇,讲解防抖,带你从零实现一个 underscore 的 debounce 函数
181 0
JavaScript专题之跟着underscore学防抖
|
JSON JavaScript 前端开发
Underscore 使用02|学习笔记
快速学习 Underscore 使用02