pull - 删除数组中指定的值
优质
小牛编辑
125浏览
2023-12-01
改变原始数组,过滤掉指定的值。
使用 Array.filter()
和 Array.includes()
来剔除指定的值。使用 Array.length = 0
将数组中的长度重置为零,并且通过 Array.push()
只使用 pulled 值重新填充数组。
(对于不改变原始数组的代码片段,请参阅without
)
const pull = (arr, ...args) => { let argState = Array.isArray(args[0]) ? args[0] : args; let pulled = arr.filter((v, i) => !argState.includes(v)); arr.length = 0; pulled.forEach(v => arr.push(v)); };
let myArray = ['a', 'b', 'c', 'a', 'b', 'c']; pull(myArray, 'a', 'c'); // myArray = [ 'b', 'b' ]