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

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

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

  • ...使用展开运算符 ( ) 和 Array.prototype.reverse() 创建数组的反向副本。
  • 循环遍历反向副本,使用for...of循环直到函数 Array.prototype.entries() 返回的值是假为止。
  • 使用 Array.prototype.slice() 返回删除的元素。
  • 回调函数fn接受一个参数,该参数是元素的值。

JavaScript

const takeRightWhile = (arr, fn) => {
  for (const [i, val] of [...arr].reverse().entries())
    if (!fn(val)) return i === 0 ? [] : arr.slice(-i);
  return arr;
};

示例:

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

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

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

相关文章

推荐文章