📅  最后修改于: 2023-12-03 15:30:03.336000             🧑  作者: Mango
pull()
方法是 Collect.js 库中的一个方法,用于从数组中获取符合条件的元素并同时将它们删除。该方法类似于 filter()
方法,但 pull()
方法是改变原数组的,而不是返回一个新数组。
pull(array, [values])
array
:要修改的数组。values
:需要删除的值。可以是单个值或由多个值组成的数组。pull()
方法将会修改原数组并返回被删除的元素所组成的新数组。
以下是一个使用 pull()
方法的示例:
const { pull } = require('collect.js');
const arr = [1, 2, 3, 4, 5];
const result = pull(arr, 2, 4);
console.log(result); // [2, 4]
console.log(arr); // [1, 3, 5]
在上面的示例中,我们从 arr
数组中删除了 2 和 4,并将被删除的值组成了新数组 result
。原数组 arr
也被修改了。
以下代码使用一个数组参数传递删除的值:
const { pull } = require('collect.js');
const arr = [1, 2, 3, 4, 5];
const result = pull(arr, [2, 4]);
console.log(result); // [2, 4]
console.log(arr); // [1, 3, 5]
除了数组外,pull()
方法还可以接受任何类型的参数,例如对象或者字符串。如果数组中有该参数,它将被删除。
使用 pull()
方法可以链式操作 Collect.js 中的许多其他方法。
以下是使用 pull()
方法和 flatten()
方法的示例:
const { pull } = require('collect.js');
const arr = [1, 2, [3, 4], 5];
const result = pull(arr, 2)
.flatten();
console.log(result); // [1, 3, 4, 5]
console.log(arr); // [1, [3, 4], 5]
在上面的示例中,我们将 2 从 arr
中删除,然后使用 flatten()
方法将嵌套的数组变成单个数组。可以看到,操作仅影响了 result
,原数组 arr
仍保持原样。