📅  最后修改于: 2023-12-03 15:40:44.633000             🧑  作者: Mango
_.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
等值比较,因此对于对象等高复杂度的数据类型需要特别留意。