📜  洛达什 | _.pullAll() 方法(1)

📅  最后修改于: 2023-12-03 15:40:44.633000             🧑  作者: Mango

洛达什 | _.pullAll() 方法

概述

_.pullAll() 是洛达什(Lodash)提供的一个数组操作方法,用于移除源数组中所有指定的值,并返回所有被移除值后的新数组。可以理解为将一个数组从另一个数组中移除(实际上是对数组进行了修改)。

语法
_.pullAll(array, values)
  • array:要从中移除值的数组。
  • values:一个或多个要移除的元素,可以是单个值或一个由多个值组成的数组。
示例
const arr = [1, 2, 3, 4, 5];
_.pullAll(arr, [2, 4]);

执行上述代码后,arr 数组的值将变为 [1, 3, 5]

使用场景

有时候我们需要从一个数组中移除多个特定的元素,可以使用 _.pullAll() 方法。比如在游戏中,一个数组表示敌人集合,我们需要从中移除已经被打败的敌人。

const enemies = ['boss', 'thief', 'magician', 'boss', 'thief'];
_.pullAll(enemies, ['boss', 'thief']);
console.log(enemies); // ['magician']
注意事项
  • _.pullAll() 方法会直接修改源数组,如果不希望产生副作用,请先备份数组。
  • _.pullAll() 方法会检查每一个值是否属于源数组,使用的是 SameValueZero 等值比较,因此对于对象等高复杂度的数据类型需要特别留意。