lodash 中数组删除常用的 api

1、pull

说明: 移除数组 array 中所有和给定值相等的元素,使用 SameValueZero 进行全等比。

注意: 和 without 方法不同,这个方法会改变数组。使用remove 从一个数组中移除元素。

示例:

var array = [1, 2, 3, 1, 2, 3];_.pull(array, 2, 3);
console.log(array);
// => [1, 1]

2、pullAll

说明: 类似 pull,区别是它接收一个要移除值的数组。

注意: 不同于 difference, 这个方法会改变数组 array

示例:

var array = [1, 2, 3, 1, 2, 3];_.pullAll(array, [2, 3]);
console.log(array);
// => [1, 1]

3、pullAt

说明: 根据索引 indexes,移除 array 中对应的元素,并返回被移除元素的数组。

注意: 和 at 不同, 这个方法会改变数组 array

示例:

var array = [5, 10, 15, 20];
var evens = _.pullAt(array, 1, 3);console.log(array);
// => [5, 15]console.log(evens);
// => [10, 20]

4、remove

说明: 移除数组中 predicate(断言)返回为真值的所有元素,并返回移除元素组成的数组。predicate(断言) 会传入3个参数: (value, index, array)。

注意: 和 filter 不同, 这个方法会改变数组 array。使用 pull 来根据提供的 value 值从数组中移除元素。

示例:

var array = [1, 2, 3, 4];
var evens = _.remove(array, function(n) {return n % 2 == 0;
});console.log(array);
// => [1, 3]console.log(evens);
// => [2, 4]

5、without

说明: 创建一个剔除所有给定值的新数组,剔除值的时候,使 SameValueZero 做相等比较。

注意: 不像 pull, 这个方法会返回一个新数组。

示例:

_.without([2, 1, 2, 3], 1, 2);
// => [3]

6、difference

说明: 创建一个具有唯一 array 值的数组,每个值不包含在其他给定的数组中。(注:即创建一个新数组,这个数组中的值,为第一个数字(array 参数)排除了给定数组中的值。)该方法使用 SameValueZero 做相等比较。结果值的顺序是由第一个数组中的顺序确定。

注意: 不像 pullAll,这个方法会返回一个新数组。

示例:

_.difference([3, 2, 1], [4, 2]);
// => [3, 1]

总结

综上, 是在开发中常用到的一些数组移除元素的方法,可以有效快捷地开发功能需求, 这些方法按以下条件可以区分一下.

改变原数组

  • pull
  • pullAll
  • pullAt
  • remove

返回一个新数组

  • difference
  • without
  • pullAt
  • remove

既改变原数组, 又返回移除元素组成的新数组

  • pullAt
  • remove

lodash中数组删除常用的api相关推荐

  1. js中数组删除对象的几种方式总结

    JS中数组是我们较为常用的一种数据结构,本篇文章主要是介绍js中我们常见的一些删除数组中元素的方式方法,希望可以对大家有所帮助.站长不易,感兴趣的大家可以点击查看原文支持支持. 数组中元素的删除通过删 ...

  2. ruby中数组的常用函数

    在程序中定义一个数组 在程序中定义一个数组,因为我们在下面说明. fruits = ["apple", "orange", "lemon"] ...

  3. leetcode中数组问题常用的处理方式

    对于数组的处理,是leetcode中一种非常常见的题型.针对数组结构的处理,我自己整理了一些常用的解题思路,便于在面对问题时,迅速思索解题方法. 1.滑窗法 2.双指针 3.构建左右侧双列表 4.利用 ...

  4. JS中数组删除指定元素

    已知一个数组Arr = [1, 2, 3, 4, 5, 88]; 现在获取到需要删除的 item = 88; 怎么把这个item从数组里删除呢? let Arr = [1, 2, 3, 4, 5, 8 ...

  5. java删除数组里的两个_java – 如何从两个数组列表中删除常用值

    我们如何从两个ArrayList中删除常用值. 让我们考虑我有两个Arraylist,如下所示 ArrayList1= [1,2,3,4] ArrayList1= [2,3,4,6,7] 我希望得到结 ...

  6. Java中常用的API

    文章目录 前言 一.java.lang String StringBuilder Integer parseXXX Math Object System Throwable Thread Runnab ...

  7. Java中Arrays.toString ()打印二维数组及Array数组的常用操作

    1.Java中Arrays.toString () 已知打印一维数组的API为System.out.println ( Arrays.toString ();,其参数为数组名或数组指针,其支持的数据类 ...

  8. js中数组常用的方法总结,包括ES6

    原文地址:js中数组常用的方法总结,包括ES6 1.push() 后增 push()方法可以向数组后添加一个新的元素,并返回新数组的长度. 末尾添加,返回长度,改变原数组 var a = [1,2,3 ...

  9. 五、Java中常用的API(通过包进行分类)————异常、多线程和Lambda表达式

    之前已经介绍了java.lang包下的相关类,今天将要补充两个常用的API:java.lang.Throwable和java.lang.Thread 一.异常(java.lang.Throwable) ...

最新文章

  1. 【PC工具】windows批处理脚本一键bat脚本编辑器,bat转exe工具使用方法,附helloworld参考例程...
  2. JS-[IIFE闭包]
  3. 教程-delphi的开源json库:superobject,用法简介
  4. javascript 取table中内容
  5. Linux 命令(3)—— sed 命令
  6. 国内达梦数据库相关函数-时间日期
  7. 持久化框架数据持久化框架(JPA)及其具体实现
  8. matlab练习程序(对应点集配准的四元数法)
  9. ceph_OSD的添加删除
  10. lua脚本java_java操作lua脚本
  11. 走进波分 -- 15.Optix OSN1800产品介绍
  12. 盛金公式解一元三次方程_一元三次方程的解法
  13. python 录制网易云登陆_Github获8300星!用Python开发的一个命令行的网易云音乐
  14. ImportError: cannot import name ‘_validate_lengths‘解决方法
  15. 创新创业大赛的目的是什么?为什么要参加创新创业大赛?
  16. Javascript中删除数组中重复出现的元素
  17. 锚点链接点击锚点后不改变url的方法
  18. 阿里云CentOS7下载地址
  19. select、poll、epoll的文件描述符上限问题
  20. cc 和 bcc 的区别 邮件

热门文章

  1. 事务管理(事务控制方式)
  2. 外汇趋势的定义,什么是趋势,未来的趋势是什么
  3. 迪特里希·朋霍费尔:愚蠢是一种道德上的缺陷
  4. 怎样将gif动图倒放?教你一键快速倒放gif动图
  5. centos 挂载移动硬盘
  6. CAD 设置原点 UCS M
  7. 安卓手机,调用时openLocation,经常出现微信启动时的页面
  8. [Unity3D]Unity3D叙利亚NGUI血液和技能的冷却效果
  9. 达内终端端mysql命令_达内推荐:在PHP中使用命令行工具(一)
  10. python网络爬虫--网页登录