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

相关文章
|
机器学习/深度学习 网络协议 安全
安全DNS服务
【8月更文挑战第18天】
1339 16
|
设计模式 C++ 开发者
C++一分钟之-智能指针:unique_ptr与shared_ptr
【6月更文挑战第24天】C++智能指针`unique_ptr`和`shared_ptr`管理内存,防止泄漏。`unique_ptr`独占资源,离开作用域自动释放;`shared_ptr`通过引用计数共享所有权,最后一个副本销毁时释放资源。常见问题包括`unique_ptr`复制、`shared_ptr`循环引用和裸指针转换。避免这些问题需使用移动语义、`weak_ptr`和明智转换裸指针。示例展示了如何使用它们管理资源。正确使用能提升代码安全性和效率。
259 2
|
关系型数据库 数据库 数据安全/隐私保护
springboot+dynamic-datasource多数据源配置动态切换
springboot+dynamic-datasource多数据源配置动态切换
3535 0
|
机器学习/深度学习 数据可视化 Python
python逻辑回归预测之信用卡逾期实战(附源码)
python逻辑回归预测之信用卡逾期实战(附源码)
873 0
python逻辑回归预测之信用卡逾期实战(附源码)
|
XML JSON API
通过Flask框架创建灵活的、可扩展的Web Restful API服务
通过Flask框架创建灵活的、可扩展的Web Restful API服务
315 1
|
数据可视化 安全 API
Qt 6.1 中的模块变更(从官网文档翻译)
Qt 6.1 中的模块变更(从官网文档翻译)
152 0
|
机器学习/深度学习 数据采集 算法
Python机器学习库scikit-learn在Anaconda中的配置
Python机器学习库scikit-learn在Anaconda中的配置
324 1
|
Oracle 固态存储 NoSQL
阿里云服务器ESSD云盘性能级别PL0、PL1、PL2和PL3区别参考
阿里云ESSD云盘分为PL0、PL1、PL2和PL3四种性能级别,ESSD云盘PL性能级别不同单盘IOPS性能上限也不同,ESSD云盘容量大小不同可选性能级别不同,阿里云百科来详细说下阿里云服务器ESSD云盘性能级别及对应的单盘IOPS性能上限说明:
787 1
|
JavaScript 数据安全/隐私保护 开发者
解决vue引发的报错-sub is not a function at vuex.esm.js:422:1跳转不了路由的问题
解决vue引发的报错-sub is not a function at vuex.esm.js:422:1跳转不了路由的问题
419 0
|
前端开发 小程序 定位技术
Mac上抓包秒通关🐑羊了个羊🐑
前言 看网上大部分是 Windows 微信小游戏的抓包教程通关文章,因为Mac微信不支持小游戏(尴尬了。) 对于真机抓包的话,高版本Android配置CA太麻烦(Root),相信 大部分都是10左右的安卓 手里只有台Mac,那咱就直接用 Mac 配安卓模拟器搞定抓包(Whistle + MuMu) PS:文末有最终演示视频,看效果直接跳文末