当前位置:首页 > JavaScript

js实现push

2026-02-01 12:39:13JavaScript

实现数组的 push 方法

在 JavaScript 中,Array.prototype.push 方法用于向数组末尾添加一个或多个元素,并返回新的数组长度。以下是几种实现方式:

js实现push

方法一:直接模拟原生 push 方法

js实现push

Array.prototype.myPush = function(...items) {
  for (let item of items) {
    this[this.length] = item;
  }
  return this.length;
};

方法二:使用展开运算符

Array.prototype.myPush = function(...items) {
  const newArray = [...this, ...items];
  this.length = 0;
  newArray.forEach(item => this[this.length] = item);
  return this.length;
};

方法三:使用 concat 方法

Array.prototype.myPush = function(...items) {
  const newArray = this.concat(items);
  this.length = 0;
  newArray.forEach(item => this[this.length] = item);
  return this.length;
};

使用示例

const arr = [1, 2, 3];
const newLength = arr.myPush(4, 5);
console.log(arr); // [1, 2, 3, 4, 5]
console.log(newLength); // 5

注意事项

  • 自定义 push 方法会修改原数组
  • 可以一次添加多个元素
  • 返回的是新数组的长度
  • 避免在原型方法中使用箭头函数,因为箭头函数没有自己的 this 绑定

标签: jspush
分享给朋友:

相关文章

js实现轮播

js实现轮播

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

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…