当前位置:首页 > JavaScript

js实现pop

2026-04-05 09:59:37JavaScript

实现数组的 pop 方法

JavaScript 的 pop 方法用于移除数组的最后一个元素并返回该元素。以下是手动实现 pop 的几种方式:

js实现pop

使用原生方法模拟

直接利用数组的 length 属性实现:

js实现pop

function customPop(arr) {
    if (arr.length === 0) return undefined;
    const lastItem = arr[arr.length - 1];
    arr.length = arr.length - 1;
    return lastItem;
}

不修改原数组的实现

创建一个新数组并返回最后一个元素:

function immutablePop(arr) {
    const newArr = [...arr];
    return newArr.pop();
}

使用 sliceconcat

结合数组方法实现非破坏性操作:

function safePop(arr) {
    const lastItem = arr.slice(-1)[0];
    const newArr = arr.slice(0, -1);
    return { lastItem, newArr };
}

注意事项

  • 空数组调用时应返回 undefined
  • 直接修改 length 属性是最接近原生实现的方式。
  • 若需保留原数组,需选择非破坏性实现方法。

性能对比

原生 pop > 修改 length 属性 > 创建新数组。高频操作场景建议优先使用原生方法。

标签: jspop
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现下拉刷新

js实现下拉刷新

监听触摸事件 通过监听 touchstart、touchmove 和 touchend 事件来检测用户下拉手势。记录触摸起始位置和移动距离。 let startY = 0; let currentY…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js验证码实现

js验证码实现

验证码的基本原理 验证码(CAPTCHA)用于区分人类用户和自动化程序。常见类型包括图形验证码、滑动验证码、短信验证码等。JavaScript 可用于前端验证码的生成和验证逻辑。 图形验证码实现 使…