Underscore.js常用方法总结

Underscore.js常用方法总结

简介

Underscore.js是一个JavaScript实用库,提供了一整套函数式编程的实用功能,同时提供了对JavaScript原生对象的高效操作。它是一个小巧的库,拥有丰富的API和易于使用的语法,适合于前端开发者使用。

常用方法总结

1. _.each

方法描述:

_.each(list, iteratee, [context])

在list中的每一个元素上执行iteratee方法,如果list是一个JavaScript对象,iteratee的参数是(value, key),如果list是一个数组,iteratee的参数是element, index,如果有context参数,iteratee绑定到context上。

示例:

// 遍历数组
_.each([1, 2, 3], function(num){ console.log(num); });

// 遍历对象
_.each({one: 1, two: 2, three: 3}, function(num, key){ console.log(key); });

2. _.map

方法描述:

_.map(list, iteratee, [context])

遍历list中的每个元素,执行iteratee方法,将结果存入一个新的数组返回。

示例:

// 数组映射
var result = _.map([1, 2, 3], function(num){ return num * 3; });
console.log(result); // [3, 6, 9]

// 对象映射
var result = _.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
console.log(result); // [3, 6, 9]

3. _.filter

方法描述:

_.filter(list, predicate, [context])

返回list中符合条件的元素,predicate方法由用户自定义,参数为(value, index/array),返回布尔值。

示例:

// 数组过滤
var result = _.filter([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });
console.log(result); // [2, 4, 6]

// 对象过滤
var result = _.filter({one: 1, two: 2, three: 3, four: 4, five: 5, six: 6}, function(num, key){ return num % 2 == 0; });
console.log(result); // [2, 4, 6]

4. _.reduce

方法描述:

_.reduce(list, iteratee, [memo], [context])

遍历list元素,对每个元素执行iteratee方法,memo是reduce函数的初始值,也是iteratee函数最初使用的第一个参数的值。如果没有传入memo,则默认使用第一个元素作为memo的初始值,memo的值会在每次执行iteratee时被更新,最后返回这个memo值。

示例:

// 数组reduce
var result = _.reduce([1, 2, 3], function(sum, num){ return sum + num; }, 0);
console.log(result); // 6

// 对象reduce
var result = _.reduce({one: 1, two: 2, three: 3}, function(sum, num){ return sum + num; }, 0);
console.log(result); // 6

5. _.sortBy

方法描述:

_.sortBy(list, iteratee, [context])

将list排序,排序方式由iteratee方法决定,如果是字符串或正整数,则按照对应的属性值排序,如果是方法,则按照方法返回值排序。

示例:

// 数组排序
var result = _.sortBy([1, 4, 2, 3, 5, 6], function(num){ return Math.sin(num); });
console.log(result); // [5, 4, 6, 3, 1, 2]

// 对象排序
var result = _.sortBy([{name: 'Adam', age:25}, {name: 'Bob', age: 20}, {name: 'Carl', age: 30}], 'age');
console.log(result); // [{name: 'Bob', age: 20}, {name: 'Adam', age:25}, {name: 'Carl', age: 30}]

结语

以上就是Underscore.js常用方法的总结,使用这些方法可以极大地提高JavaScript开发效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Underscore.js常用方法总结 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 什么时候不能在 Node.js 中使用 Lock Files

    在 Node.js 中,Lock Files是指npm或yarn生成的package-lock.json或yarn.lock文件,它记录了当前项目依赖的包的准确版本,可以保证在不同机器和环境下安装相同的依赖包时一致性。但是,在某些情况下,Lock Files也会带来一些问题。 以下是不能在 Node.js 中使用 Lock Files的具体情况及解决方案: …

    node js 2023年6月8日
    00
  • 手机Web APP如何实现分享多平台功能

    分享是手机Web APP中常见的功能之一,让用户可以将自己喜欢的内容快速分享到自己的社交媒体账号上,从而实现增加用户粘性、提升用户体验的效果。实现多平台分享,可以让用户同时分享到不同的社交媒体平台,扩大传播范围,提高品牌曝光率。下面是实现手机Web APP多平台分享功能的完整攻略。 1. 获取分享渠道的授权 在实现多平台分享之前,需要先获取对应社交媒体平台的…

    node js 2023年6月8日
    00
  • 教你用NodeJs构建属于自己的前端脚手工具

    教你用NodeJs构建属于自己的前端脚手工具 什么是脚手工具 在前端开发中,我们经常会通过一些工具帮助我们进行项目构建、代码打包等一系列操作。这些工具通常成为脚手工具,它能够让我们的开发工作更加高效。 用NodeJs构建脚手工具 NodeJs是一个非常流行的JavaScript运行环境,它可以让我们的JavaScript代码运行在服务器端,并提供了一系列强大…

    node js 2023年6月8日
    00
  • node.js学习之事件模块Events的使用示例

    Node.js学习之事件模块Events的使用示例 Node.js中的事件驱动模型基本上是所有I/O操作的基础。EventEmitter是Node.js的核心模块之一,它提供了事件处理的接口,可以用于自定义事件,或者处理Node.js内部提供的事件。 事件模块Events的基础使用 继承EventEmitter 我们可以用ES6的方式继承Node.js提供的…

    node js 2023年6月8日
    00
  • 使用js完成节点的增删改复制等的操作

    下面是关于使用JavaScript实现节点的增删改复制等操作的完整攻略。 一、获取DOM元素 首先要获取DOM元素,可以借助于JavaScript的document对象提供的方法进行获取。例如,可以使用document.getElementsByClassName()获取特定类名的元素,或者使用document.getElementById()获取特定id的…

    node js 2023年6月8日
    00
  • 教你使用webpack打包编译TypeScript代码

    教你使用webpack打包编译TypeScript代码 为什么要使用webpack和TypeScript? 在前端开发的过程中,我们经常需要使用Webpack来统一打包我们的前端代码,将多个js、css文件合并成一个或多个bundles,减小代码的体积,并且利于加载和缓存。 而TypeScript是JavaScript的一种超集,它给JavaScript加上…

    node js 2023年6月9日
    00
  • Node.JS更改Windows注册表Regedit的方法小结

    按照你的要求,我来详细讲解一下“Node.JS更改Windows注册表Regedit的方法小结”的完整攻略。 目录 介绍 使用Node.js修改Windows注册表 安装必要模块 读取注册表 写入注册表 删除注册表 示例说明 示例1: 修改注册表键值 示例2: 删除注册表项 介绍 Windows系统中的注册表是系统的关键组件之一,管理着许多应用程序和操作系统…

    node js 2023年6月8日
    00
  • 浅谈Node.js:理解stream

    浅谈Node.js:理解stream 什么是stream stream(流)在 Node.js 中是处理流式数据的抽象接口,stream 基于事件机制工作,数据在写入和读取时以块(chunk)或流(flow)的方式进行传递。 stream 的类型 在 Node.js 中,stream 可以分为四种类型: Readable(可读流):用于从数据源中读取数据。比…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部