Underscore.js _.reject函数

Underscore.js是一个实用的JavaScript函数工具库,提供了许多函数操作和工具,帮助我们更容易地操作JavaScript数据。其中,_.reject是其中一个非常实用的函数,可以对集合(collection)数据类型进行过滤操作。

一、函数介绍

_.reject(list, predicate, [context]):遍历一个集合,返回所有符合条件 predicate 的元素。注:与 _.filter 函数恰好相反。

例如,我们有一个数组 arr,元素是整型数字:

var arr = [1, 2, 3, 4, 5];

如果我们想要过滤掉数组中所有的偶数,可以使用_.reject 函数,如下所示:

var result = _.reject(arr, function(num){ return num % 2 == 0; });
console.log(result); // [1, 3, 5]

上述代码在 arr 数组上应用了 _.reject 函数,第二个参数是一个函数,用来定义过滤条件,使用给定的函数对每个元素进行计算,返回 true 则过滤掉元素,返回 false 则保留元素。由于我们定义的函数是奇偶性判定,因此返回的是所有为奇数的元素。

_.reject 函数的第三个可选参数 context 是上下文对象,我们可以在函数调用时指定上下文,保证函数内部的 this 关键字指向我们指定的对象。

二、函数示例

示例一:过滤掉数组中的负数

我们有一个数组arr,里面既有正数、也有负数,现在我们想要过滤掉数组中的负数,可以使用_.reject函数,代码如下:

var arr = [-1, 2, 3, -4, 5];
var result = _.reject(arr, function(num){ return num < 0 });
console.log(result); // [ 2, 3, 5 ]

在上述代码中,我们使用了_.reject函数,函数的第一个参数是要进行操作的数组,第二个参数是一个函数,用来定义过滤条件。我们在函数中使用了小于 < 运算符,筛选出数组中的正数,最终得到了过滤掉负数后的结果。

示例二:过滤对象数组中符合条件的元素

我们有一个对象数组users,每个元素包含了不同的属性,其中一个属性是active。我们现在需要过滤出数组中active属性值为false的元素,可以使用_.reject函数,如下所示:

var users = [
  { 'user': 'barney', 'active': true },
  { 'user': 'fred', 'active': false },
  { 'user': 'pebbles', 'active': false }
];
var result = _.reject(users, function(user){ return !user.active; });
console.log(result); // [{ 'user': 'barney', 'active': true }]

在上述代码中,我们使用了_.reject函数,函数的第一个参数是要进行操作的对象数组 users,第二个参数是一个函数,用来定义过滤条件。我们在函数中使用了!user.active,筛选出 active 属性值为 true 的元素,最终得到了过滤掉 active 属性值为 false 的结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Underscore.js _.reject函数 - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • Axios常见配置选项跨域详解

    Axios是流行的前端HTTP请求库之一,用于发送HTTP请求和处理响应。然而,在使用Axios时,可能会遇到跨域问题。在本攻略中,我们将探讨如何使用Axios来处理跨域问题,包括常见的配置选项和跨域详解。 什么是跨域? 跨域是指浏览器从一个域名的网页去请求另一个域名的资源,跨域是一种安全机制。 在同源策略下,浏览器只允许通过ajax访问同源的接口。所谓同源…

    jquery 2023年5月28日
    00
  • jQuery基本过滤选择器用法示例

    下面是关于“jQuery基本过滤选择器用法示例”的完整攻略,包括用法说明和两个示例说明: 什么是jQuery选择器? 选择器是一种用于选择HTML元素的机制,它是jQuery的重要部分。jQuery支持的选择器种类多种多样,包括基本选择器、层次选择器、属性选择器、筛选选择器、表单选择器和表单对象过滤选择器等。其中,本文主要介绍的是jQuery基本过滤选择器的…

    jquery 2023年5月28日
    00
  • 为什么IE中的密码框比文本框小

    为什么IE中的密码框比文本框小 在IE浏览器中,我们可能会发现一个奇怪的现象:密码框比文本框小。这是因为IE中的密码框使用了不同的CSS样式,导致其尺寸比文本框小。接下来我们将介绍密码框和文本框的CSS样式区别,以及如何解决这个问题。 密码框和文本框的CSS样式区别 密码框和文本框在CSS样式上的区别在于它们使用了不同的box-sizing属性。在IE浏览器…

    jquery 2023年5月12日
    00
  • $.ajax返回的JSON无法执行success的解决方法

    当我们使用$.ajax方法请求后端接口时,期望的返回格式可能是JSON数据,而在请求的成功回调函数success中解析JSON时,有时会遇到返回JSON无法执行success的情况,下面我将为你提供处理这种情况的完整攻略。 常见原因 在处理此类问题前,我们先了解一下常见的出错原因: 后端接口未正确返回JSON数据; JSON数据格式不正确; 前端代码对于JS…

    jquery 2023年5月28日
    00
  • jQuery UI Tooltips内容选项

    以下是关于 jQuery UI Tooltips 内容选项的详细攻略: jQuery UI Tooltips 内容选项 内容选项用于指定工具提示小部件的内容。 语法 $(selector).tooltip({ content: "这是工具提示的内容" }); 参数 content:工具提示小部件内容。 示例一:使用文本作为工具提示小部件的…

    jquery 2023年5月11日
    00
  • jQWidgets jqxQRcode getDataURL()方法

    以下是关于 jQWidgets jqxQRcode 组件中 getDataURL() 方法的详细攻略。 jQWidgets jqxQRcode getDataURL() 方法 jQWidgets jqxQRcode 的 getDataURL() 方法用于获取二维码的 Base64 编码数据 URL。 语法 // 获取二维码的 Base64 编码数据 URL …

    jquery 2023年5月12日
    00
  • jQWidgets jqxValidator validationSuccess事件

    jQWidgets是一款基于jQuery的UI控件库,其中的jqxValidator插件可以用来为表单提供验证功能。在jqxValidator插件中,validationSuccess事件是在表单验证成功后触发的事件,它可以用来执行一些成功验证后的操作。以下是关于如何使用jqxValidator插件中的validationSuccess事件的攻略: 安装和使…

    jquery 2023年5月12日
    00
  • 详解webpack引用jquery(第三方模块)的三种办法

    接下来我将详细讲解“详解webpack引用jquery(第三方模块)的三种办法”的完整攻略。 1. 安装jquery模块 首先,我们需要在项目中安装jquery模块。可以使用npm安装: npm install jquery –save 安装完成后,jquery模块会被保存在项目的”node_modules”目录中。 2. 引用jquery模块 在webp…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部