碎片时间学编程「82]:从末尾删除列表元素直到满足条件


碎片时间学编程「82]:从末尾删除列表元素直到满足条件

从数组末尾删除元素,直到传递的函数返回true。返回移除的元素。

  • ...使用展开运算符 ( ) 和 Array.prototype.reverse() 创建数组的反向副本。
  • 循环遍历反向副本,使用for...of循环Array.prototype.entries()直到函数返回的值是真为止。
  • 使用 Array.prototype.slice() 返回删除的元素。
  • 回调函数fn接受一个参数,该参数是元素的值。
const takeRightUntil = (arr, fn) => {
  for (const [i, val] of [...arr].reverse().entries())
    if (fn(val)) return i === 0 ? [] : arr.slice(-i);
  return arr;
};

示例:

takeRightUntil([1, 2, 3, 4], n => n < 3); // [3, 4]

更多内容请访问我的网站:https://www.icoderoad.com

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章