编程技术文章分享与教程

网站首页 > 技术文章 正文

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

hmc789 2024-11-27 14:47:21 技术文章 2 ℃

从数组末尾删除元素,直到传递的函数返回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

Tags:

标签列表
最新留言