网站首页 > 技术文章 正文
从数组末尾删除元素,直到传递的函数返回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
- 上一篇: 七爪源码:如何从数组中删除特定项
- 下一篇: 删除此函数式编程技术的 Switch 语句
猜你喜欢
- 2024-11-27 VirtualBox 7.1.2 发布! 带来多项 GUI 更新,无人值守安装已彻底删除
- 2024-11-27 Spring boot+Mybatisplus用AR模式实现逻辑删除操作
- 2024-11-27 碎片时间学编程「127]:从数组中删除元素
- 2024-11-27 JavaScript程序员需要掌握的5个debug技巧
- 2024-11-27 python 列表删除
- 2024-11-27 souce-map-js + Vue 还原生成环境报错,让JS报错无所遁形
- 2024-11-27 如何使用 rmdir 命令删除目录?
- 2024-11-27 illustrator插件-常用功能开发-删除所有蒙版-js脚本开发-AI插件
- 2024-11-27 如何在 Ubuntu 22.04 LTS 中添加、删除和授予用户 Sudo 权限
- 2024-11-27 删除此函数式编程技术的 Switch 语句
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-