数组方法实现--remove

2019-12-19  本文已影响0人  无名白丁
Removes elements from an array for which the given function returns false.

Use Array.prototype.filter() to find array elements that return truthy values and Array.prototype.reduce() to remove elements using Array.prototype.splice(). The func is invoked with three arguments (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);
    }, [])
    : [];

EXAMPLES
remove([1, 2, 3, 4], n => n % 2 === 0); // [2, 4]
上一篇下一篇

猜你喜欢

热点阅读