remove - 移除数组中的元素

优质
小牛编辑
127浏览
2023-12-01

从数组中移除给定函数返回 false 的元素。

使用 Array.filter()Array.reduce() 来查找返回真值的数组元素,使用 Array.splice() 来移除元素。 func 有三个参数(value, index, array)。

const remove = (arr, func) =>
  Array.isArray(arr)
    ? arr.filter(func).reduce((acc, val) => {
        arr.splice(arr.indexOf(val), 1);
        return acc.concat(val);
      }, [])
    : [];
remove([1, 2, 3, 4], n => n % 2 == 0); // [2, 4]